Fungsi CryptVerifyMessageHash (wincrypt.h)

Fungsi CryptVerifyMessageHash memverifikasi hash konten yang ditentukan.

Sintaks

BOOL CryptVerifyMessageHash(
  [in]                PCRYPT_HASH_MESSAGE_PARA pHashPara,
  [in]                BYTE                     *pbHashedBlob,
  [in]                DWORD                    cbHashedBlob,
  [out]               BYTE                     *pbToBeHashed,
  [in, out]           DWORD                    *pcbToBeHashed,
  [out, optional]     BYTE                     *pbComputedHash,
  [in, out, optional] DWORD                    *pcbComputedHash
);

Parameter

[in] pHashPara

Penunjuk ke struktur CRYPT_HASH_MESSAGE_PARA yang berisi parameter hash.

[in] pbHashedBlob

Penunjuk ke buffer yang berisi konten asli dan hash-nya.

[in] cbHashedBlob

Ukuran, dalam byte, dari buffer hash asli.

[out] pbToBeHashed

Pointer ke buffer untuk menerima konten asli yang di-hash.

Parameter ini dapat berupa NULL jika konten asli tidak diperlukan untuk pemrosesan tambahan, atau untuk mengatur ukuran konten asli untuk tujuan alokasi memori. Untuk informasi selengkapnya, lihat Mengambil Data Dengan Panjang Tidak Diketahui.

[in, out] pcbToBeHashed

Penunjuk ke DWORD yang menentukan ukuran, dalam byte, dari buffer pbToBeHashed . Ketika fungsi kembali, variabel ini berisi ukuran, dalam byte, dari konten asli yang disalin ke pbToBeHashed. Konten asli tidak akan dikembalikan jika parameter ini NULL.

Catatan Saat memproses data yang dikembalikan, aplikasi harus menggunakan ukuran aktual data yang dikembalikan. Ukuran aktual bisa sedikit lebih kecil dari ukuran buffer yang ditentukan pada input. (Pada input, ukuran buffer biasanya ditentukan cukup besar untuk memastikan bahwa data output terbesar yang mungkin akan pas di buffer.) Pada output, variabel yang diacu oleh parameter ini diperbarui untuk mencerminkan ukuran aktual data yang disalin ke buffer.
 

[out, optional] pbComputedHash

Pointer ke buffer untuk menerima hash komputasi. Parameter ini dapat berupa NULL jika hash yang dibuat tidak diperlukan untuk pemrosesan tambahan, atau untuk mengatur ukuran konten asli untuk tujuan alokasi memori. Untuk informasi selengkapnya, lihat Mengambil Data Dengan Panjang Tidak Diketahui.

[in, out, optional] pcbComputedHash

Penunjuk ke DWORD yang menentukan ukuran, dalam byte, dari buffer pbComputedHash . Ketika fungsi kembali, variabel ini berisi ukuran, dalam byte, dari hash yang dibuat. Hash tidak dikembalikan jika parameter ini NULL.

Catatan Saat memproses data yang dikembalikan, aplikasi harus menggunakan ukuran aktual data yang dikembalikan. Ukuran aktual bisa sedikit lebih kecil dari ukuran buffer yang ditentukan pada input. (Pada input, ukuran buffer biasanya ditentukan cukup besar untuk memastikan bahwa data output terbesar yang mungkin akan pas di buffer.) Pada output, variabel yang diacu oleh parameter ini diperbarui untuk mencerminkan ukuran aktual data yang disalin ke 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.

Berikut ini mencantumkan kode kesalahan yang paling umum dikembalikan oleh fungsi GetLastError .

Menampilkan kode Deskripsi
CRYPT_E_UNEXPECTED_MSG_TYPE
Bukan pesan kriptografi yang di-hash.
E_INVALIDARG
Tipe pengodean pesan tidak valid. Saat ini hanya PKCS_7_ASN_ENCODING yang didukung. cbSize di *pHashPara tidak valid.
ERROR_MORE_DATA
Jika buffer yang ditentukan oleh parameter pbToBeHashed 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 pcbToBeHashed.
 
Catatan Kesalahan dari fungsi yang disebut CryptCreateHash, CryptHashData, dan CryptGetHashParam mungkin disebarluaskan ke fungsi ini.

Jika fungsi gagal, GetLastError dapat mengembalikan kesalahan pengodean/pendekodean Abstract Syntax Notation One (ASN.1). Untuk informasi tentang kesalahan ini, lihat Nilai Pengembalian Pengodean/Pendekodean ASN.1.

 

Persyaratan

   
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

CryptVerifyDetachedMessageHash

Fungsi Pesan Yang Disederhanakan