Fungsi CryptMsgEncodeAndSignCTL (wincrypt.h)
Fungsi CryptMsgEncodeAndSignCTL mengodekan CTL dan membuat pesan bertanda tangan yang berisi CTL yang dikodekan.
Fungsi ini pertama-tama mengodekan CTL yang diarahkan oleh pCtlInfo dan kemudian memanggil CryptMsgSignCTL untuk menandatangani pesan yang dikodekan.
Sintaks
BOOL CryptMsgEncodeAndSignCTL(
[in] DWORD dwMsgEncodingType,
[in] PCTL_INFO pCtlInfo,
[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] pCtlInfo
Penunjuk ke struktur CTL_INFO yang berisi CTL yang akan dikodekan dan ditandatangani.
[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
CMSG_ENCODE_SORTED_CTL_FLAG diatur jika entri CTL akan diurutkan sebelum pengodean. Bendera ini diatur jika fungsi CertFindSubjectInSortedCTL atau CertEnumSubjectInSortedCTL akan dipanggil.
CMSG_ENCODE_HASHED_SUBJECT_IDENTIFIER_FLAG diatur jika CMSG_ENCODE_SORTED_CTL_FLAG diatur, dan pengidentifikasi untuk TrustedSubjects adalah hash, seperti MD5 atau SHA1.
Jika CMS_PKCS7 ditentukan, dwFlags dapat diatur ke CMSG_CMS_ENCAPSULATED_CTL_FLAG untuk mengodekan pesan V3 SignedData yang kompatibel dengan CMS.
[out] pbEncoded
Penunjuk ke buffer yang menerima pesan yang dikodekan dan ditandatangani dibuat.
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] 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.
Nilai kembali
Jika fungsi berhasil, nilai yang dikembalikan bukan nol (TRUE).
Jika fungsi gagal, nilai yang dikembalikan adalah nol (FALSE). Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError. Kesalahan dapat disebarluaskan 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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk