Bagikan melalui


Fungsi CryptMsgSignCTL (wincrypt.h)

Fungsi CryptMsgSignCTL membuat pesan bertanda tangan yang berisi CTL yang dikodekan.

Sintaks

BOOL CryptMsgSignCTL(
  [in]      DWORD                    dwMsgEncodingType,
  [in]      BYTE                     *pbCtlContent,
  [in]      DWORD                    cbCtlContent,
  [in]      PCMSG_SIGNED_ENCODE_INFO pSignInfo,
  [in]      DWORD                    dwFlags,
  [out]     BYTE                     *pbEncoded,
  [in, out] DWORD                    *pcbEncoded
);

Parameter

[in] dwMsgEncodingType

Menentukan jenis pengodean yang digunakan. Selalu dapat diterima untuk menentukan jenis pengodean sertifikat dan pesan dengan menggabungkannya dengan operasi bitwise-OR seperti yang ditunjukkan dalam contoh berikut:

X509_ASN_ENCODING | PKCS_7_ASN_ENCODING

Jenis pengodean yang saat ini ditentukan adalah:

  • X509_ASN_ENCODING
  • PKCS_7_ASN_ENCODING

[in] pbCtlContent

CTL_INFO yang dikodekan yang dapat menjadi anggota struktur CTL_CONTEXT atau dapat dibuat menggunakan fungsi CryptEncodeObject.

[in] cbCtlContent

Ukuran, dalam byte, dari konten yang diacu oleh pbCtlContent.

[in] pSignInfo

Penunjuk ke struktur CMSG_SIGNED_ENCODE_INFO yang berisi array struktur CMSG_SIGNER_ENCODE_INFO .

Pesan dapat dikodekan tanpa penanda tangan jika anggota cbSize struktur diatur ke ukuran struktur dan semua anggota lain diatur ke nol.

[in] dwFlags

Jika CMS_PKCS7 ditentukan, dapat diatur ke CMSG_CMS_ENCAPSULATED_CTL_FLAG untuk mengodekan pesan V3 SignedData yang kompatibel dengan CMS.

[out] pbEncoded

Penunjuk ke buffer untuk menerima pesan yang dikodekan.

Parameter ini bisa null untuk mendapatkan ukuran informasi ini untuk tujuan alokasi memori. Untuk informasi selengkapnya, lihat Mengambil Data Dengan Panjang Tidak Diketahui.

[in, out] pcbEncoded

Penunjuk ke DWORD yang menentukan ukuran, dalam byte, dari buffer pbEncoded . Saat fungsi kembali, DWORD berisi jumlah byte yang disimpan atau disimpan dalam buffer.

Mengembalikan nilai

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. Fungsi ini dapat mengembalikan kesalahan yang disebarkan dari panggilan ke CryptMsgOpenToEncode dan CryptMsgUpdate.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows XP [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Target Platform Windows
Header wincrypt.h
Pustaka Crypt32.lib
DLL Crypt32.dll

Lihat juga

CMSG_SIGNED_ENCODE_INFO

CryptMsgEncodeAndSignCTL

CryptMsgOpenToEncode

Fungsi Verifikasi Menggunakan CTL