Freigeben über


SslComputeFinishedHash-Funktion

Die SslComputeFinishedHash-Funktion berechnet den Hash , der in der fertigen Nachricht des SSL-Handshake ( Secure Sockets Layer Protocol ) gesendet wird.

Syntax

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
);

Parameter

hSslProvider [in]

Das Handle des SSL-Protokollanbieters instance.

hMasterKey [in]

Das Handle des master Schlüsselobjekts.

hHandshakeHash [in]

Das Handle des Hashs der Handshakenachrichten.

pbOutput [out]

Ein Zeiger auf einen Puffer, der den Hash für die Fertigmeldung empfängt.

cbOutput [in]

Die Länge des pbOutput-Puffers in Bytes.

dwFlags [in]

Eine der folgenden Konstanten.

Wert Bedeutung
NCRYPT_SSL_CLIENT_FLAG
0x00000001
Gibt an, dass es sich um einen Clientaufruf handelt.
NCRYPT_SSL_SERVER_FLAG
0x00000002
Gibt an, dass es sich um einen Serveraufruf handelt.

Rückgabewert

Wenn die Funktion erfolgreich ist, gibt sie null zurück.

Wenn die Funktion fehlschlägt, gibt sie einen fehlerfreien Wert zurück.

Rückgabecode/-wert Beschreibung
NTE_INVALID_HANDLE
2148073510 (0x80090026)
Einer der angegebenen Handles ist ungültig.

Bemerkungen

Die SslComputeFinishedHash-Funktion ist eine von drei Funktionen, mit der ein Hash generiert wird, der während des SSL-Handshakes verwendet werden soll.

  1. Die SslCreateHandshakeHash-Funktion wird aufgerufen, um ein Hashhandle abzurufen.
  2. Die SslHashHandshake-Funktion wird beliebig oft mit dem Hashhandle aufgerufen, um dem HashDaten hinzuzufügen.
  3. Die SslComputeFinishedHash-Funktion wird mit dem Hashhandle aufgerufen, um den Digest der Hashdaten abzurufen.

Der Hashwert wird berechnet, indem das master Geheimnis mit einem Hash aller vorherigen gesendeten oder empfangenen Handshakenachrichten gehasht wird.

Der Wert von cbOutput bestimmt die Länge der Hashdaten. Wenn das Tls-Protokoll (Transport Layer Security Protocol ) 1.0 verwendet wird, sollte dies immer 12 (Bytes) sein. Weitere Informationen finden Sie unter Tls-Protokoll Version 1.0.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server)
Windows Server 2008 [nur Desktop-Apps]
Header
Sslprovider.h
DLL
Ncrypt.dll