Freigeben über


SslComputeClientAuthHash-Funktion

Die SslComputeClientAuthHash-Funktion berechnet einen Hash , der während der Zertifikatauthentifizierung verwendet werden soll.

Syntax

SECURITY_STATUS WINAPI SslComputeClientAuthHash(
  _In_  NCRYPT_PROV_HANDLE hSslProvider,
  _In_  NCRYPT_KEY_HANDLE  hMasterKey,
  _In_  NCRYPT_HASH_HANDLE hHandshakeHash,
  _In_  LPCWSTR            pszAlgId,
  _Out_ PBYTE              pbOutput,
  _In_  DWORD              cbOutput,
  _Out_ DWORD              *pcbResult,
  _In_  DWORD              dwFlags
);

Parameter

hSslProvider [in]

Das Handle des SSL-Protokollanbieters (Secure Sockets Layer Protocol) instance.

hMasterKey [in]

Das Handle des master Schlüsselobjekts.

hHandshakeHash [in]

Das Handle des Hashs des bisher berechneten Handshakes.

pszAlgId [in]

Ein Zeiger auf eine unicode-Zeichenfolge mit NULL-Beendigung, die den angeforderten kryptografischen Algorithmus identifiziert. Dies kann einer der Standardmäßigen CNG-Algorithmusbezeichner oder der Bezeichner für einen anderen registrierten Algorithmus sein.

pbOutput [out]

Die Adresse eines Puffers, der das Schlüssel-BLOB empfängt. Der cbOutput-Parameter enthält die Größe dieses Puffers. Wenn dieser Parameter NULL ist, platziert diese Funktion die erforderliche Größe in Byte im DWORD , auf das der pcbResult-Parameter verweist.

cbOutput [in]

Die Länge des pbOutput-Puffers in Bytes.

pcbResult [out]

Ein Zeiger auf einen DWORD-Wert , der die Länge des in den pbOutput-Puffer geschriebenen Hashs in Bytes angibt.

dwFlags [in]

Dieser Parameter ist für die zukünftige Verwendung reserviert.

Rückgabewert

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

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

Mögliche Rückgabecodes sind u. a. die folgenden:

Rückgabecode/-wert BESCHREIBUNG
NTE_INVALID_HANDLE
0x80090026L
Einer der angegebenen Handles ist ungültig.

Bemerkungen

Die SslComputeClientAuthHash-Funktion berechnet den Hash, der in der Zertifikatüberprüfungsnachricht des SSL-Handshakes gesendet wird. Der Hashwert wird berechnet, indem ein Hash erstellt wird, der den master Geheimnis mit einem Hash aller vorherigen gesendeten oder empfangenen Handshakenachrichten enthält.

Die Art und Weise, wie der Hash berechnet wird, hängt vom verwendeten Protokoll und der verwendeten Verschlüsselungssammlung ab. Darüber hinaus hängt der Hash vom Typ des verwendeten Clientauthentifizierungsschlüssels ab. Der PszAlgId-Parameter gibt den Typ des Schlüssels an, der für die Clientauthentifizierung verwendet wird.

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