Freigeben über


SslImportMasterKey-Funktion

Die SslImportMasterKey-Funktion führt einen serverseitigen SSL-Schlüsselaustauschvorgang ( Secure Sockets Layer Protocol ) aus.

Syntax

SECURITY_STATUS WINAPI SslImportMasterKey(
  _In_  NCRYPT_PROV_HANDLE hSslProvider,
  _In_  NCRYPT_KEY_HANDLE  hPrivateKey,
  _Out_ NCRYPT_KEY_HANDLE  *phMasterKey,
  _In_  DWORD              dwProtocol,
  _In_  DWORD              dwCipherSuite,
  _In_  PNCryptBufferDesc  pParameterList,
  _In_  PBYTE              pbEncryptedKey,
  _In_  DWORD              cbEncryptedKey,
  _In_  DWORD              dwFlags
);

Parameter

hSslProvider [in]

Das Handle für den SSL-Protokollanbieter instance.

hPrivateKey [in]

Das Handle für den privaten Schlüssel , der im Austausch verwendet wird.

phMasterKey [out]

Ein Zeiger auf das Handle, um den master Schlüssel zu empfangen.

dwProtocol [in]

Einer der Werte des CNG-SSL-Anbieterprotokoll-Bezeichners .

dwCipherSuite [in]

Einer der Werte für CNG SSL Provider Cipher Suite Identifiers .

pParameterList [in]

Ein Zeiger auf ein Array von NCryptBuffer-Puffern , die Informationen enthalten, die im Rahmen des Schlüsselaustauschvorgangs verwendet werden. Der genaue Satz von Puffern hängt vom verwendeten Protokoll und der Verschlüsselungssuite ab. Mindestens enthält die Liste Puffer, die die vom Client und Server bereitgestellten Zufallswerte enthalten.

pbEncryptedKey [in]

Ein Zeiger auf einen Puffer, der den verschlüsselten geheimen Premasterschlüssel enthält, der mit dem öffentlichen Schlüssel des Servers verschlüsselt ist.

cbEncryptedKey [in]

Die Größe des Puffers pbEncryptedKey in Bytes.

dwFlags [in]

Legen Sie diesen Parameter auf NCRYPT_SSL_SERVER_FLAG fest, um anzugeben, 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.

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

Rückgabecode/-wert BESCHREIBUNG
NTE_NO_MEMORY
0x8009000EL
Für die Zuweisung der erforderlichen Puffer steht nicht genügend Arbeitsspeicher zur Verfügung.
NTE_INVALID_HANDLE
0x80090026L
Eines der bereitgestellten Handles ist ungültig.
NTE_INVALID_PARAMETER
0x80090027L
Der parameter phMasterKey ist NULL.

Bemerkungen

Diese Funktion entschlüsselt das Premastergeheimnis, berechnet das SSL-master Geheimnis und gibt ein Handle für dieses Objekt an den Aufrufer zurück. Dieser master Schlüssel kann dann verwendet werden, um den SSL-Sitzungsschlüssel abzuleiten und den SSL-Handshake abzuschließen.

Hinweis

Diese Funktion wird verwendet, wenn der RSA-Schlüsselaustauschalgorithmus verwendet wird. Wenn DH verwendet wird, ruft der Servercode stattdessen SslGenerateMasterKey auf .

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