Funzione SslComputeFinishedHash
La funzione SslComputeFinishedHash calcola l'hash inviato nel messaggio completato dell'handshake SSL (Secure Sockets Layer Protocol ).
Sintassi
SECURITY_STATUS WINAPI SslComputeFinishedHash(
_In_ NCRYPT_PROV_HANDLE hSslProvider,
_In_ NCRYPT_KEY_HANDLE hMasterKey,
_In_ NCRYPT_HASH_HANDLE hHandshakeHash,
_Out_ PBYTE pbOutput,
_In_ DWORD cbOutput,
_In_ DWORD dwFlags
);
Parametri
-
hSslProvider [in]
-
Handle dell'istanza del provider del protocollo SSL.
-
hMasterKey [in]
-
Handle dell'oggetto chiave master .
-
hHandshakeHash [in]
-
Handle dell'hash dei messaggi di handshake.
-
pbOutput [out]
-
Puntatore a un buffer che riceve l'hash per il messaggio di fine.
-
cbOutput [in]
-
Lunghezza, in byte, del buffer pbOutput .
-
dwFlags [in]
-
Una delle costanti seguenti.
Valore Significato - NCRYPT_SSL_CLIENT_FLAG
- 0x00000001
Specifica che si tratta di una chiamata client. - NCRYPT_SSL_SERVER_FLAG
- 0x00000002
Specifica che si tratta di una chiamata al server.
Valore restituito
Se la funzione ha esito positivo, restituisce zero.
Se la funzione ha esito negativo, restituisce un valore di errore diverso da zero.
Codice/valore restituito | Descrizione |
---|---|
|
Uno degli handle forniti non è valido. |
Commenti
La funzione SslComputeFinishedHash è una delle tre funzioni usate per generare un hash da usare durante l'handshake SSL.
- La funzione SslCreateHandshakeHash viene chiamata per ottenere un handle hash.
- La funzione SslHashHandshake viene chiamata un numero qualsiasi di volte con l'handle hash per aggiungere dati all'hash.
- La funzione SslComputeFinishedHash viene chiamata con l'handle hash per ottenere il digest dei dati con hash.
Il valore hash viene calcolato eseguendo l'hashing del segreto master con un hash di tutti i messaggi di handshake precedenti inviati o ricevuti.
Il valore di cbOutput determina la lunghezza dei dati hash. Quando viene usato il protocollo TLS (Transport Layer Security Protocol ) 1.0, deve essere sempre 12 (byte). Per altre informazioni, vedere Protocollo TLS versione 1.0.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato |
Windows Vista [solo app desktop] |
Server minimo supportato |
Windows Server 2008 [solo app desktop] |
Intestazione |
|
DLL |
|