Fungsi CryptSignAndEncryptMessage (wincrypt.h)
Fungsi CryptSignAndEncryptMessage membuat hash konten yang ditentukan, menandatangani hash, mengenkripsi konten, hash konten terenkripsi dan hash yang ditandatangani, lalu mengodekan konten terenkripsi dan hash yang ditandatangani. Hasilnya sama seperti jika hash pertama kali ditandatangani dan kemudian dienkripsi.
Sintaks
BOOL CryptSignAndEncryptMessage(
[in] PCRYPT_SIGN_MESSAGE_PARA pSignPara,
[in] PCRYPT_ENCRYPT_MESSAGE_PARA pEncryptPara,
[in] DWORD cRecipientCert,
[in] PCCERT_CONTEXT [] rgpRecipientCert,
[in] const BYTE *pbToBeSignedAndEncrypted,
[in] DWORD cbToBeSignedAndEncrypted,
[out] BYTE *pbSignedAndEncryptedBlob,
[in, out] DWORD *pcbSignedAndEncryptedBlob
);
Parameter
[in] pSignPara
Penunjuk ke struktur CRYPT_SIGN_MESSAGE_PARA yang berisi parameter tanda tangan.
[in] pEncryptPara
Penunjuk ke struktur CRYPT_ENCRYPT_MESSAGE_PARA yang berisi parameter enkripsi.
[in] cRecipientCert
Jumlah elemen array dalam rgpRecipientCert.
[in] rgpRecipientCert
Array pointer ke struktur CERT_CONTEXT . Setiap struktur adalah sertifikat penerima pesan yang dimaksudkan.
[in] pbToBeSignedAndEncrypted
Penunjuk ke buffer yang berisi konten yang akan ditandatangani dan dienkripsi.
[in] cbToBeSignedAndEncrypted
Ukuran, dalam byte, dari buffer pbToBeSignedAndEncrypted .
[out] pbSignedAndEncryptedBlob
Penunjuk ke buffer untuk menerima pesan terenkripsi dan dikodekan.
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] pcbSignedAndEncryptedBlob
Penunjuk ke DWORD yang menentukan ukuran, dalam byte, dari buffer yang diarahkan oleh pbSignedAndEncryptedBlob. Ketika fungsi kembali, variabel ini berisi ukuran, dalam byte, dari pesan yang ditandatangani dan dienkripsi yang disalin ke *pbSignedAndEncryptedBlob.
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.
Berikut ini mencantumkan kode kesalahan yang paling umum dikembalikan oleh fungsi GetLastError .
Menampilkan kode | Deskripsi |
---|---|
|
Jika buffer yang ditentukan oleh parameter pbSignedAndEncryptedBlob 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 pcbSignedAndEncryptedBlob. |
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 |