Bagikan melalui


Fungsi CryptMsgCountersignEncoded (wincrypt.h)

Fungsi CryptMsgCountersignEncoded meng-countersign tanda tangan pesan PKCS #7 yang ada. Buffer pbCountersignatureBYTE yang dibuatnya adalah SignerInfo yang dikodekan PKCS #7 yang dapat digunakan sebagai Countersignature yang tidak diautentikasi atribut PKCS #9 signed-data atau signed-and-enveloped-data message.

Sintaksis

BOOL CryptMsgCountersignEncoded(
  [in]      DWORD                    dwEncodingType,
  [in]      PBYTE                    pbSignerInfo,
  [in]      DWORD                    cbSignerInfo,
  [in]      DWORD                    cCountersigners,
  [in]      PCMSG_SIGNER_ENCODE_INFO rgCountersigners,
  [out]     PBYTE                    pbCountersignature,
  [in, out] PDWORD                   pcbCountersignature
);

Parameter

[in] dwEncodingType

Menentukan jenis pengodean yang digunakan. Saat ini, hanya X509_ASN_ENCODING dan PKCS_7_ASN_ENCODING yang digunakan; namun, jenis pengodean tambahan dapat ditambahkan di masa mendatang. Untuk jenis pengodean saat ini, gunakan:

X509_ASN_ENCODING | PKCS_7_ASN_ENCODING.

[in] pbSignerInfo

Penunjuk ke SignerInfo yang dikodekan yang akan ditandatangani.

[in] cbSignerInfo

Hitung, dalam byte, dari data SignerInfo yang dikodekan.

[in] cCountersigners

Jumlah penghitung dalam array rgCountersigners.

[in] rgCountersigners

Array struktur CMSG_SIGNER_ENCODE_INFO countersigners.

[out] pbCountersignature

Pointer ke buffer untuk menerima atribut PKCS #9 countersignature yang dikodekan.

Pada input, parameter ini dapat NULL untuk mengatur ukuran informasi ini untuk tujuan alokasi memori. Untuk informasi selengkapnya, lihat Mengambil DataPanjang Tidak Diketahui .

[in, out] pcbCountersignature

Penunjuk ke variabel yang menentukan ukuran, dalam byte, dari buffer yang diarahkan oleh parameter pbCountersignature . Ketika fungsi kembali, variabel yang diarahkan oleh parameter pcbCountersignature berisi jumlah byte yang disimpan dalam buffer.

Mengembalikan nilai

Jika fungsi berhasil, nilai pengembalian bukan nol (TRUE).

Jika fungsi gagal, nilai yang dikembalikan adalah nol (FALSE). Untuk informasi kesalahan yang diperluas, panggil GetLastError.

Tabel berikut mencantumkan kode kesalahan yang paling umum dikembalikan oleh fungsi GetLastError .

Mengembalikan kode Deskripsi
CRYPT_E_OID_FORMAT
Pengidentifikasi objek diformat dengan buruk.
E_INVALIDARG
Satu atau beberapa argumen tidak valid.
E_OUTOFMEMORY
Kehabisan memori.
 

Kesalahan yang disebarkan mungkin dikembalikan dari salah satu fungsi berikut:

Jika fungsi gagal, GetLastError dapat mengembalikan kesalahan pengodean/dekode Abstract Sintaks Notation One (ASN.1). Untuk informasi tentang kesalahan ini, lihat Nilai Pengembalian Pengodean/Dekode ASN.1.

Persyaratan

Syarat Nilai
klien minimum yang didukung Windows XP [aplikasi desktop | Aplikasi UWP]
server minimum yang didukung Windows Server 2003 [aplikasi desktop | Aplikasi UWP]
Platform Target Windows
Header wincrypt.h
Pustaka Crypt32.lib
DLL Crypt32.dll

Lihat juga

CryptMsgCountersign

CryptMsgVerifyCountersignatureEncoded

Fungsi Pesan Tingkat Rendah

Fungsi Pesan yang Disederhanakan