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 die SSL-Protokollanbieterinstanz.
-
hPrivateKey [ In]
-
Das Handle für den privaten Schlüssel, der im Austausch verwendet wird.
-
phMasterKey [ out]
-
Ein Zeiger auf das Handle, um den Hauptschlüsselzu empfangen.
-
dwProtocol [ In]
-
dwCipherSuite [ In]
-
pParameterList [ In]
-
Ein Zeiger auf ein Array von NCryptBuffer-Puffern, die Informationen enthalten, die als Teil des Schlüsselaustauschvorgangs verwendet werden. Der genaue Satz von Puffern hängt vom verwendeten Protokoll und der verwendeten Verschlüsselungssammlung ab. Die Liste enthält mindestens 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 pbEncryptedKey-Puffers 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 0 (null) zurück.
Wenn die Funktion fehlschlägt, wird ein Fehlerwert ungleich 0 (null) zurückgegeben.
Mögliche Rückgabecodes sind u. a. folgende.
| Rückgabecode/-wert | BESCHREIBUNG |
|---|---|
|
Es ist nicht genügend Arbeitsspeicher verfügbar, um die erforderlichen Puffer zuzuordnen. |
|
Einer der bereitgestellten Handles ist ungültig. |
|
Der phMasterKey-Parameter ist NULL. |
Hinweise
Diese Funktion entschlüsselt das Premastergeheimnis, berechnet das SSL-Hauptgeheimnis und gibt ein Handle für dieses Objekt an den Aufrufer zurück. Dieser Hauptschlü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) |
nur Windows [ Vista-Desktop-Apps] |
| Unterstützte Mindestversion (Server) |
nur Windows Server [ 2008-Desktop-Apps] |
| Header |
|
| DLL |
|