Fungsi CryptVerifyMessageSignatureWithKey (wincrypt.h)
Fungsi CryptVerifyMessageSignatureWithKey memverifikasi tanda tangan pesan yang ditandatangani dengan menggunakan informasi kunci publik tertentu.
Sintaks
BOOL CryptVerifyMessageSignatureWithKey(
[in] PCRYPT_KEY_VERIFY_MESSAGE_PARA pVerifyPara,
[in] PCERT_PUBLIC_KEY_INFO pPublicKeyInfo,
[in] const BYTE *pbSignedBlob,
[in] DWORD cbSignedBlob,
[out] BYTE *pbDecoded,
[in, out] DWORD *pcbDecoded
);
Parameter
[in] pVerifyPara
Penunjuk ke struktur CRYPT_KEY_VERIFY_MESSAGE_PARA yang berisi parameter verifikasi.
[in] pPublicKeyInfo
Penunjuk ke struktur CERT_PUBLIC_KEY_INFO yang berisi kunci umum yang digunakan untuk memverifikasi pesan yang ditandatangani. Jika NULL, tanda tangan tidak diverifikasi.
[in] pbSignedBlob
Penunjuk ke buffer yang berisi pesan yang ditandatangani.
[in] cbSignedBlob
Ukuran, dalam byte, dari buffer pesan yang ditandatangani.
[out] pbDecoded
Penunjuk ke buffer untuk menerima pesan yang didekodekan.
Parameter ini dapat berupa NULL jika pesan yang didekodekan tidak diperlukan untuk pemrosesan tambahan atau untuk mengatur ukuran pesan untuk tujuan alokasi memori. Untuk informasi selengkapnya, lihat Mengambil Data Dengan Panjang Tidak Diketahui.
[in, out] pcbDecoded
Penunjuk ke nilai DWORD yang menentukan ukuran, dalam byte, dari buffer pbDecoded . Ketika fungsi kembali, DWORD ini berisi ukuran, dalam byte, dari pesan yang didekodekan. Pesan yang didekodekan tidak akan dikembalikan jika parameter ini NULL.
Mengembalikan nilai
Jika fungsi berhasil, fungsi mengembalikan bukan nol.
Jika fungsi gagal, fungsi akan mengembalikan nol. Untuk informasi kesalahan yang diperluas, hubungi GetLastError.
Tabel berikut menunjukkan kode kesalahan yang paling umum dikembalikan oleh fungsi GetLastError .
Menampilkan kode | Deskripsi |
---|---|
|
Jika buffer yang ditentukan oleh parameter pbDecoded tidak cukup besar untuk menyimpan data yang dikembalikan, fungsi mengatur kode ERROR_MORE_DATA, dan menyimpan ukuran buffer yang diperlukan, dalam byte, dalam variabel yang ditunjukkan oleh pcbDecoded. |
|
Jenis pengodean pesan dan sertifikat tidak valid. Saat ini hanya PKCS_7_ASN_ENCODING dan X509_ASN_ENCODING_TYPE yang didukung. cbSize tidak valid dalam *pVerifyPara. |
|
Bukan pesan kriptografi yang ditandatangani. |
|
Pesan tidak memiliki penanda tangan atau penanda tangan untuk dwSignerIndex yang ditentukan. |
|
Pesan di-hash dan ditandatangani dengan menggunakan algoritma yang tidak diketahui atau tidak didukung. |
|
Tanda tangan pesan tidak diverifikasi. |
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 |