PFN_CRYPT_EXTRACT_ENCODED_SIGNATURE_PARAMETERS_FUNC fungsi panggilan balik (wincrypt.h)

Jika tanda tangan berisi parameter yang dikodekan, fungsi panggilan balik PFN_CRYPT_EXTRACT_ENCODED_SIGNATURE_PARAMETERS_FUNC dipanggil untuk mendekode dan mengembalikan pengidentifikasi algoritma hash dan secara opsional parameter tanda tangan.

Sintaks

PFN_CRYPT_EXTRACT_ENCODED_SIGNATURE_PARAMETERS_FUNC PfnCryptExtractEncodedSignatureParametersFunc;

BOOL PfnCryptExtractEncodedSignatureParametersFunc(
  [in]            DWORD dwCertEncodingType,
  [in]            PCRYPT_ALGORITHM_IDENTIFIER pSignatureAlgorithm,
  [out, optional] void **ppvDecodedSignPara,
  [out]           LPWSTR *ppwszCNGHashAlgid
)
{...}

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] pSignatureAlgorithm

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

[out, optional] ppvDecodedSignPara

Penunjuk ke alamat untuk struktur data parameter tanda tangan yang didekodekan dan dialokasikan. Mengembalikan buffer yang didekodekan bersifat opsional.

[out] ppwszCNGHashAlgid

Penunjuk ke alamat untuk string Unicode yang dialokasikan yang mewakili pengidentifikasi algoritma hash CNG yang diekstrak dari parameter tanda tangan yang dikodekan. Jika fungsi ini mengembalikan TRUE, pointer non-NULL harus dikembalikan.

Nilai kembali

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

Jika fungsi gagal, fungsi 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

Memori untuk parameter ppvDecodedSignPara dan ppwszCNGHashAlgid harus dialokasikan dengan menggunakan fungsi LocalAlloc .

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_EXTRACT_ENCODED_SIGNATURE_PARAMETERS_FUNC "CryptDllExtractEncodedSignatureParameters"

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