Funzione CryptVerifyCertificateSignature (wincrypt.h)

La funzione CryptVerifyCertificateSignature verifica la firma di un certificato, un elenco di revoche di certificati o una richiesta di certificato usando la chiave pubblica in una struttura CERT_PUBLIC_KEY_INFO . La funzione non richiede l'accesso a una chiave privata.

Sintassi

BOOL CryptVerifyCertificateSignature(
  [in] HCRYPTPROV_LEGACY     hCryptProv,
  [in] DWORD                 dwCertEncodingType,
  [in] const BYTE            *pbEncoded,
  [in] DWORD                 cbEncoded,
  [in] PCERT_PUBLIC_KEY_INFO pPublicKey
);

Parametri

[in] hCryptProv

Questo parametro non viene usato e deve essere impostato su NULL.

Windows Server 2003 e Windows XP: Handle per il provider di servizi di crittografia (CSP) usato per verificare la firma. Il tipo di dati di questo parametro è HCRYPTPROV.

NULL viene passato a meno che non vi sia un motivo forte per passare un provider di crittografia specifico. Il passaggio in NULL causa l'acquisizione del provider RSA o DSS predefinito.

[in] dwCertEncodingType

Tipo di codifica del certificato usato per crittografare l'oggetto. L'identificatore del tipo di codifica del messaggio , contenuto nell'alto WORD di questo valore, viene ignorato da questa funzione.

Questo parametro può essere il seguente tipo di codifica del certificato attualmente definito.

Valore Significato
X509_ASN_ENCODING
1 (0x1)
Specifica la codifica del certificato X.509 .

[in] pbEncoded

Puntatore a un BLOB codificato di CERT_SIGNED_CONTENT_INFO contenuto in cui deve essere verificata la firma.

[in] cbEncoded

Dimensioni, in byte, del contenuto codificato in pbEncoded.

[in] pPublicKey

Puntatore a una struttura CERT_PUBLIC_KEY_INFO che contiene la chiave pubblica da usare durante la verifica della firma.

Valore restituito

Restituisce un valore diverso da zero se ha esito positivo o zero in caso contrario.

Per informazioni sull'errore estese, chiamare GetLastError.

Nota Gli errori delle funzioni chiamate CryptCreateHash, CryptImportKey, CryptVerifySignature e CryptHashData possono essere propagati a questa funzione.
 
In caso di errore, questa funzione causerà la restituzione dei codici di errore seguenti da GetLastError.
Codice restituito Descrizione
ERROR_FILE_NOT_FOUND
Tipo di codifica del certificato non valido. Attualmente è supportato solo X509_ASN_ENCODING .
NTE_BAD_ALGID
L'identificatore dell'oggetto dell'algoritmo di firma (OID) non esegue il mapping a un algoritmo hash noto o supportato.
NTE_BAD_SIGNATURE
La firma non è valida.
 

Se la funzione ha esito negativo, GetLastError potrebbe restituire un errore di codifica astratta Notation One (ASN.1). Per informazioni su questi errori, vedere Codifica ASN.1/Decodifica dei valori restituiti.

Commenti

Questa funzione chiama attualmente la funzione CryptVerifyCertificateSignatureEx per eseguire la verifica.

Requisiti

Requisito Valore
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione wincrypt.h
Libreria Crypt32.lib
DLL Crypt32.dll

Vedi anche

CryptVerifyCertificateSignatureEx