SslComputeFinishedHash-Funktion

Die SslComputeFinishedHash-Funktion berechnet den Hash, der in der fertigen Nachricht des SSL-Handshakes (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 der SSL-Protokollanbieterinstanz.

hMasterKey [ In]

Das Handle des Hauptschlü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-CLIENTFLAG-0x00000001
Gibt an, dass dies ein Clientaufruf ist.
NCRYPT _ _ _ SSL-SERVERFLAG-0x00000002
Gibt an, dass dies ein Serveraufruf ist.

Rückgabewert

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

Wenn die Funktion fehlschlägt, wird ein Fehlerwert ungleich 0 (null) zurückgegeben.

Rückgabecode/-wert BESCHREIBUNG
NTE _ UNGÜLTIGES _ HANDLE
2148073510 (0x80090026)
Einer der angegebenen Handles ist ungültig.

Hinweise

Die SslComputeFinishedHash-Funktion ist eine von drei Funktionen, die verwendet werden, um einen Hash zu generieren, der während des SSL-Handshakes verwendet wird.

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

Der Hashwert wird durch Hashing des geheimen Hauptschlüssels mit einem Hash aller vorherigen gesendeten oder empfangenen Handshakenachrichten berechnet.

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

Anforderungen

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