PFN_CRYPT_VERIFY_ENCODED_SIGNATURE_FUNC fungsi panggilan balik (wincrypt.h)

Fungsi panggilan balik PFN_CRYPT_VERIFY_ENCODED_SIGNATURE_FUNC dipanggil untuk mendekripsi tanda tangan yang dikodekan dan membandingkannya dengan hash komputasi.

Sintaks

PFN_CRYPT_VERIFY_ENCODED_SIGNATURE_FUNC PfnCryptVerifyEncodedSignatureFunc;

BOOL PfnCryptVerifyEncodedSignatureFunc(
  [in]           DWORD dwCertEncodingType,
  [in]           PCERT_PUBLIC_KEY_INFO pPubKeyInfo,
  [in]           PCRYPT_ALGORITHM_IDENTIFIER pSignatureAlgorithm,
  [in, optional] void *pvDecodedSignPara,
  [in]           LPCWSTR pwszCNGPubKeyAlgid,
  [in]           LPCWSTR pwszCNGHashAlgid,
  [in]           BYTE *pbComputedHash,
  [in]           DWORD cbComputedHash,
  [in]           BYTE *pbSignature,
  [in]           DWORD cbSignature
)
{...}

Parameter

[in] dwCertEncodingType

Menentukan jenis pengodean yang digunakan. Selalu dapat diterima untuk menentukan jenis pengodean sertifikat dan pesan dengan menggabungkannya dengan operasi bitwise-OR seperti yang ditunjukkan dalam contoh berikut:

X509_ASN_ENCODING | PKCS_7_ASN_ENCODING Jenis pengodean yang ditentukan saat ini adalah:

  • X509_ASN_ENCODING
  • PKCS_7_ASN_ENCODING

[in] pPubKeyInfo

Alamat struktur CERT_PUBLIC_KEY_INFO yang berisi kunci umum yang akan digunakan untuk memverifikasi tanda tangan. Anda dapat menggunakan ini dengan CryptImportPublicKeyInfoEx2 untuk mendapatkan BCRYPT_KEY_HANDLE.

[in] pSignatureAlgorithm

Penunjuk ke struktur CRYPT_ALGORITHM_IDENTIFIER yang berisi pengidentifikasi objek tanda tangan (OID) dan parameter yang dikodekan opsional.

[in, optional] pvDecodedSignPara

Penunjuk opsional ke struktur data parameter tanda tangan yang didekodekan yang sebelumnya dikembalikan oleh fungsi PFN_CRYPT_EXTRACT_ENCODED_SIGNATURE_PARAMETERS_FUNC .

[in] pwszCNGPubKeyAlgid

String Unicode yang berisi pengidentifikasi algoritma kunci publik Cryptography API: Next Generation (CNG) yang sesuai dengan pSignatureAlgorithm-pszObjId>.

[in] pwszCNGHashAlgid

String Unicode yang berisi pengidentifikasi algoritma hashing CNG yang sesuai dengan pSignatureAlgorithm-pszObjId> atau ke pengidentifikasi algoritma hash di pvDecodedSignPara.

[in] pbComputedHash

Penunjuk ke byte hash terkomputasi yang dikembalikan oleh fungsi BCryptFinishHash yang sesuai dengan pwszCNGHashAlgid.

[in] cbComputedHash

Nilai yang mewakili panjang, dalam byte, dari hash komputasi.

[in] pbSignature

Penunjuk ke byte tanda tangan yang dikodekan.

[in] cbSignature

Nilai yang mewakili panjang, dalam byte, dari tanda tangan yang dikodekan.

Nilai kembali

Jika fungsi berhasil, fungsi mengembalikan bukan nol (TRUE).

Jika fungsi gagal, fungsi akan mengembalikan nol (FALSE). Untuk informasi kesalahan yang diperluas, hubungi GetLastError.

Jika fungsi panggilan balik ini tidak mendukung algoritma tanda tangan, fungsi tersebut harus mengembalikan FALSE dan memanggil SetLastError dengan ERROR_NOT_SUPPORTED.

Keterangan

Anda dapat menggunakan Fungsi Dukungan OID untuk menyebarkan fungsi panggilan balik ini. Wincrypt.h mendefinisikan konstanta berikut untuk tujuan ini.

Terus-menerus Definisi
CRYPT_OID_VERIFY_ENCODED_SIGNATURE_FUNC "CryptDllVerifyEncodedSignature"

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows Vista [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2008 [hanya aplikasi desktop]
Target Platform Windows
Header wincrypt.h