Fungsi CryptMsgCountersignEncoded (wincrypt.h)

Fungsi CryptMsgCountersignEncoded mengimbangi tanda tangan pesan PKCS #7 yang ada. Buffer BYTE pbCountersignature yang dibuatnya adalah SignerInfo berkode PKCS #7 yang dapat digunakan sebagai atribut Countersignature yang tidak diautentikasi dari PKCS #9 signed-data atau signed-and-enveloped-data message.

Sintaks

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 salah satu 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 countersignature PKCS #9 yang dikodekan.

Pada input, parameter ini dapat berupa NULL untuk mengatur ukuran informasi ini untuk tujuan alokasi memori. Untuk informasi selengkapnya, lihat Mengambil Data Dengan Panjang 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.

Nilai kembali

Jika fungsi berhasil, nilai yang dikembalikan bukan nol (TRUE).

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

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

Menampilkan 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/pendekodean Abstract Syntax Notation One (ASN.1). Untuk informasi tentang kesalahan ini, lihat Nilai Pengembalian Pengodean/Pendekodean ASN.1.

Persyaratan

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

Lihat juga

CryptMsgCountersign

CryptMsgVerifyCountersignatureEncoded

Fungsi Pesan tingkat rendah

Fungsi Pesan yang Disederhanakan