Freigeben über


SslExportKeyingMaterial-Funktion

Exportiert Schlüsselmaterial nach dem RFC 5705-Standard. Diese Funktion verwendet die TLS-Pseudorandomfunktion, um einen Bytepuffer von Schlüsselmaterial zu erzeugen. Sie benötigt einen Verweis auf das master Geheimnis, die eindeutigen ASCII-Bezeichnungen, zufällige Client- und Server-Zufallswerte und optional die Anwendungskontextdaten.

Syntax

SECURITY_STATUS WINAPI SslExportKeyingMaterial(
  _In_     NCRYPT_PROV_HANDLE hSslProvider,
  _In_     NCRYPT_KEY_HANDLE  hMasterKey,
  _In_     PCHAR              sLabel,
  _In_     PBYTE              pbRandoms,
  _In_     DWORD              cbRandoms,
  _In_opt_ PBYTE              pbContextValue,
  _In_     WORD               cbContextValue,
  _Out_    PBYTE              pbOutput,
  _In_     DWORD              cbOutput,
  _In_     DWORD              dwFlags
);

Parameter

hSslProvider [in]

Das Handle des TLS-Protokollanbieters instance.

hMasterKey [in]

Das Handle des master Schlüsselobjekts, das zum Erstellen des Schlüsselmaterials verwendet wird, das exportiert werden soll.

sLabel [in]

eine NUL-beendete ASCII-Bezeichnungszeichenfolge. Schannel entfernt das beendende NUL-Zeichen, bevor es an die pseudorandom-Funktion übergeben wird.

pbRandoms [in]

Ein Zeiger auf einen Puffer, der eine Verkettung der client_random und server_random Werte der TLS-Verbindung enthält.

cbRandoms [in]

Die Länge des Puffers pbRandoms in Bytes.

pbContextValue [in, optional]

Ein Zeiger auf einen Puffer, der den Anwendungskontext enthält. Wenn pbContextValueNULL ist, muss cbContextValue 0 sein.

cbContextValue [in]

Die Länge des Puffers pbContextValue in Bytes.

pbOutput [out]

Die Adresse eines Puffers, der das exportierte Schlüsselmaterial empfängt. Der cbOutput-Parameter enthält die Größe dieses Puffers. Dieser Wert darf nicht NULL sein.

cbOutput [in]

Die Länge des pbOutput-Puffers in Bytes. Muss größer sein als Null.

dwFlags [in]

Wird nicht verwendet. Muss auf 0 festgelegt werden.

Rückgabewert

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

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

Mögliche Rückgabecodes umfassen folgendes, sind aber nicht darauf beschränkt.

Rückgabecode/-wert Beschreibung
NTE_INVALID_HANDLE
0x80090026L
Eines der bereitgestellten Handles ist ungültig.

Anforderungen

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