Funzione NCryptVerifySignature (ncrypt.h)
La funzione NCryptVerifySignature verifica che la firma specificata corrisponda all'hash specificato.
Sintassi
SECURITY_STATUS NCryptVerifySignature(
[in] NCRYPT_KEY_HANDLE hKey,
[in, optional] VOID *pPaddingInfo,
[in] PBYTE pbHashValue,
[in] DWORD cbHashValue,
[in] PBYTE pbSignature,
[in] DWORD cbSignature,
[in] DWORD dwFlags
);
Parametri
[in] hKey
Handle della chiave da usare per decrittografare la firma. Questa deve essere una chiave identica o la parte pubblica della coppia di chiavi usata per firmare i dati con la funzione NCryptSignHash .
[in, optional] pPaddingInfo
Puntatore a una struttura che contiene informazioni di riempimento. Il tipo effettivo di struttura a cui punta questo parametro dipende dal valore del parametro dwFlags . Questo parametro viene usato solo con chiavi asimmetriche e deve essere NULL in caso contrario.
[in] pbHashValue
Indirizzo di un buffer contenente l'hash dei dati. Il parametro cbHash contiene le dimensioni di questo buffer.
[in] cbHashValue
Dimensioni, in byte, del buffer pbHash .
[in] pbSignature
Indirizzo di un buffer contenente l'hash firmato dei dati. La funzione NCryptSignHash viene usata per creare la firma. Il parametro cbSignature contiene le dimensioni di questo buffer.
[in] cbSignature
Dimensioni, in byte, del buffer pbSignature . La funzione NCryptSignHash viene usata per creare la firma.
[in] dwFlags
Contrassegni che modificano il comportamento della funzione. Il set consentito di flag dipende dal tipo di chiave specificato dal parametro hKey .
Se la chiave è una chiave simmetrica, questo parametro non viene usato e deve essere zero.
Se la chiave è una chiave asimmetrica, questo può essere uno dei valori seguenti.
Valore | Significato |
---|---|
|
Lo schema di riempimento PKCS1 è stato usato quando è stata creata la firma. Il parametro pPaddingInfo è un puntatore a una struttura BCRYPT_PKCS1_PADDING_INFO . |
|
Lo schema di spaziatura della firma probabilistica (PSS) è stato usato quando è stata creata la firma. Il parametro pPaddingInfo è un puntatore a una struttura BCRYPT_PSS_PADDING_INFO . |
|
Richiede che il provider di servizi chiave (KSP) non visualizzi alcuna interfaccia utente. Se il provider deve visualizzare l'interfaccia utente da operare, la chiamata ha esito negativo e il KSP deve impostare il codice di errore NTE_SILENT_CONTEXT come ultimo errore. |
Valore restituito
Restituisce un codice di stato che indica l'esito positivo o negativo della funzione.
I codici restituiti possibili includono, ma non sono limitati a, i seguenti.
Codice restituito | Descrizione |
---|---|
|
La funzione ha avuto esito positivo. |
|
La firma non è stata verificata. |
|
Il parametro hKey non è valido. |
|
Si è verificato un errore di allocazione della memoria. |
|
Il provider di algoritmi usato per creare l'handle di chiavi specificato dal parametro hKey non è un algoritmo di firma. |
Commenti
Un servizio non deve chiamare questa funzione dalla funzione StartService. Se un servizio chiama questa funzione dalla funzione StartService, può verificarsi un deadlock e il servizio potrebbe interrompere la risposta.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows Vista [app desktop | App UWP] |
Server minimo supportato | Windows Server 2008 [app desktop | App UWP] |
Piattaforma di destinazione | Windows |
Intestazione | ncrypt.h |
Libreria | Ncrypt.lib |
DLL | Ncrypt.dll |