PFN_CRYPT_VERIFY_ENCODED_SIGNATURE_FUNC funzione di callback (wincrypt.h)
La funzione di callback PFN_CRYPT_VERIFY_ENCODED_SIGNATURE_FUNC viene chiamata per decrittografare una firma codificata e confrontarla con un hash calcolato.
Sintassi
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
)
{...}
Parametri
[in] dwCertEncodingType
Specifica il tipo di codifica utilizzata. È sempre accettabile specificare sia il certificato che i tipi di codifica dei messaggi combinandoli con un'operazione OR bit per bit, come illustrato nell'esempio seguente:
X509_ASN_ENCODING | PKCS_7_ASN_ENCODING I tipi di codifica attualmente definiti sono:
- X509_ASN_ENCODING
- PKCS_7_ASN_ENCODING
[in] pPubKeyInfo
Indirizzo di una struttura di CERT_PUBLIC_KEY_INFO che contiene la chiave pubblica da utilizzare per verificare la firma. È possibile usarlo con CryptImportPublicKeyInfoEx2 per ottenere un BCRYPT_KEY_HANDLE.
[in] pSignatureAlgorithm
Puntatore a una struttura CRYPT_ALGORITHM_IDENTIFIER che contiene l'identificatore dell'oggetto firma (OID) e i relativi parametri con codifica facoltativa.
[in, optional] pvDecodedSignPara
Puntatore facoltativo alla struttura dei dati dei parametri della firma decodificata restituita in precedenza dalla funzione PFN_CRYPT_EXTRACT_ENCODED_SIGNATURE_PARAMETERS_FUNC .
[in] pwszCNGPubKeyAlgid
Stringa Unicode che contiene l'API di crittografia: identificatore dell'algoritmo di chiave pubblica CNG (Next Generation) che corrisponde a pSignatureAlgorithm-pszObjId>.
[in] pwszCNGHashAlgid
Stringa Unicode che contiene l'identificatore dell'algoritmo hash CNG che corrisponde a pSignatureAlgorithm-pszObjId> o a un identificatore dell'algoritmo hash in pvDecodedSignPara.
[in] pbComputedHash
Puntatore ai byte hash calcolati restituiti dalla funzione BCryptFinishHash che corrisponde a pwszCNGHashAlgid.
[in] cbComputedHash
Valore che rappresenta la lunghezza, in byte, dell'hash calcolato.
[in] pbSignature
Puntatore ai byte di firma codificati.
[in] cbSignature
Valore che rappresenta la lunghezza, in byte, della firma codificata.
Valore restituito
Se la funzione ha esito positivo, la funzione restituisce un valore diverso da zero (TRUE).
Se la funzione non riesce, restituisce zero (FALSE). Per informazioni sugli errori estesi, chiamare GetLastError.
Se questa funzione di callback non supporta l'algoritmo di firma, deve restituire FALSE e chiamare SetLastError con ERROR_NOT_SUPPORTED.
Commenti
È possibile usare le funzioni di supporto OID per distribuire questa funzione di callback. Wincrypt.h definisce la costante seguente a questo scopo.
Costante | Definizione |
---|---|
CRYPT_OID_VERIFY_ENCODED_SIGNATURE_FUNC | "CryptDllVerifyEncodedSignature" |
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows Vista [solo app desktop] |
Server minimo supportato | Windows Server 2008 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | wincrypt.h |