Fungsi CryptSignMessage (wincrypt.h)
Fungsi CryptSignMessage membuat hash konten yang ditentukan, menandatangani hash, lalu mengodekan konten pesan asli dan hash yang ditandatangani.
Sintaks
BOOL CryptSignMessage(
[in] PCRYPT_SIGN_MESSAGE_PARA pSignPara,
[in] BOOL fDetachedSignature,
[in] DWORD cToBeSigned,
[in] const BYTE * [] rgpbToBeSigned,
[in] DWORD [] rgcbToBeSigned,
[out] BYTE *pbSignedBlob,
[in, out] DWORD *pcbSignedBlob
);
Parameter
[in] pSignPara
Penunjuk ke struktur CRYPT_SIGN_MESSAGE_PARA yang berisi parameter tanda tangan.
[in] fDetachedSignature
TRUE jika ini akan menjadi tanda tangan yang dilepas. Jika tidak, FALSE. Jika parameter ini diatur ke TRUE, hanya hash yang ditandatangani yang dikodekan dalam pbSignedBlob. Jika tidak, baik rgpbToBeSigned maupun hash yang ditandatangani dikodekan.
[in] cToBeSigned
Jumlah jumlah elemen array dalam rgpbToBeSigned dan rgcbToBeSigned. Parameter ini harus diatur ke satu kecuali fDetachedSignature diatur ke TRUE.
[in] rgpbToBeSigned
Array pointer ke buffer yang berisi konten yang akan ditandatangani.
[in] rgcbToBeSigned
Array ukuran, dalam byte, dari buffer konten yang diarahkan ke rgpbToBeSigned.
[out] pbSignedBlob
Penunjuk ke buffer untuk menerima hash bertanda tangan yang dikodekan, jika fDetachedSignatureTRUE, atau ke konten yang dikodekan dan hash yang ditandatangani jika fDetachedSignatureFALSE.
Parameter ini bisa NULL untuk mengatur ukuran informasi ini untuk tujuan alokasi memori. Untuk informasi selengkapnya, lihat Mengambil Data Dengan Panjang Tidak Diketahui.
[in, out] pcbSignedBlob
Penunjuk ke DWORD yang menentukan ukuran, dalam byte, dari buffer pbSignedBlob . Ketika fungsi kembali, variabel ini berisi ukuran, dalam byte, dari pesan yang ditandatangani dan dikodekan.
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.
Berikut ini mencantumkan kode kesalahan yang paling umum dikembalikan oleh fungsi GetLastError .
Menampilkan kode | Deskripsi |
---|---|
|
Jika buffer yang ditentukan oleh parameter pbSignedBlob tidak cukup besar untuk menyimpan data yang dikembalikan, fungsi mengatur kode ERROR_MORE_DATA, dan menyimpan ukuran buffer yang diperlukan, dalam byte, ke dalam variabel yang ditunjukkan oleh pcbSignedBlob. |
|
Tipe pengodean pesan tidak valid. Saat ini hanya PKCS_7_ASN_ENCODING yang didukung. cbSize dalam *pSignPara tidak valid. |
|
pSigningCert di *pSignPara tidak memiliki properti CERT_KEY_PROV_INFO_PROP_ID atau CERT_KEY_CONTEXT_PROP_ID. |
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