Fungsi CryptVerifyDetachedMessageHash (wincrypt.h)

Fungsi CryptVerifyDetachedMessageHash memverifikasi hash yang dilepas.

Sintaks

BOOL CryptVerifyDetachedMessageHash(
  [in]      PCRYPT_HASH_MESSAGE_PARA pHashPara,
  [in]      BYTE                     *pbDetachedHashBlob,
  [in]      DWORD                    cbDetachedHashBlob,
  [in]      DWORD                    cToBeHashed,
  [in]      const BYTE * []          rgpbToBeHashed,
  [in]      DWORD []                 rgcbToBeHashed,
  [out]     BYTE                     *pbComputedHash,
  [in, out] DWORD                    *pcbComputedHash
);

Parameter

[in] pHashPara

Penunjuk ke struktur CRYPT_HASH_MESSAGE_PARA yang berisi parameter hash.

[in] pbDetachedHashBlob

Penunjuk ke hash yang dikodekan dan dilepas.

[in] cbDetachedHashBlob

Ukuran, dalam byte, dari hash yang dilepas.

[in] cToBeHashed

Jumlah elemen dalam array rgpbToBeHashed dan rgcbToBeHashed .

[in] rgpbToBeHashed

Array pointer ke buffer konten yang akan di-hash.

[in] rgcbToBeHashed

Array ukuran, dalam byte, untuk buffer konten yang ditunjukkan oleh elemen array rgcbToBeHashed .

[out] pbComputedHash

Pointer ke buffer untuk menerima hash komputasi.

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

[in, out] pcbComputedHash

Penunjuk ke DWORD yang menentukan ukuran, dalam byte, dari buffer pbComputedHash . Ketika fungsi kembali, DWORD ini berisi ukuran, dalam byte, dari hash yang dibuat. Hash 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.
 

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 pbComputedHash 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 pcbComputedHash.
 
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

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

CryptVerifyMessageHash

Fungsi Pesan Yang Disederhanakan