SslImportMasterKey 関数
SslImportMasterKey 関数は、サーバー側の Secure Sockets Layer プロトコル (SSL) キー交換操作を実行します。
構文
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
);
パラメーター
-
hSslProvider [in]
-
SSL プロトコル プロバイダー インスタンスへのハンドル。
-
hPrivateKey [in]
-
交換で使用される 秘密キー へのハンドル。
-
phMasterKey [out]
-
マスター キーを受け取るハンドルへのポインター。
-
dwProtocol [in]
-
CNG SSL プロバイダー プロトコル識別子の値の 1 つ。
-
dwCipherSuite [in]
-
pParameterList [in]
-
キー交換操作の一部として使用される情報を含む NCryptBuffer バッファーの配列へのポインター。 バッファーの正確なセットは、使用されるプロトコルと暗号スイートに依存します。 少なくとも、リストには、クライアントとサーバーが指定したランダムな値を含むバッファーが含まれます。
-
pbEncryptedKey [in]
-
サーバーの 公開キー で暗号化された暗号化されたプリマスター秘密キーを含むバッファーへのポインター。
-
cbEncryptedKey [in]
-
pbEncryptedKey バッファーのサイズ (バイト単位)。
-
dwFlags [in]
-
このパラメーターを NCRYPT_SSL_SERVER_FLAG に設定して、これがサーバー呼び出しであることを示します。
戻り値
関数が成功すると、0 が返されます。
関数が失敗すると、0 以外のエラー値が返されます。
可能なリターン コードには、次のものが含まれますが、これらに限定されません。
リターン コード/値 | 説明 |
---|---|
|
必要なバッファーを割り当てるのに十分なメモリがありません。 |
|
指定されたハンドルの 1 つが無効です。 |
|
phMasterKey パラメーターは NULL です。 |
注釈
この関数は、プリマスター シークレットの暗号化を解除し、SSL マスター シークレットを計算し、呼び出し元にこのオブジェクトへのハンドルを返します。 このマスター キーを使用して、SSL セッション キーを派生させ、SSL ハンドシェイクを完了できます。
Note
この関数は、 RSA キー交換アルゴリズムが使用されている場合に使用されます。 DH を使用すると、代わりにサーバー コードによって SslGenerateMasterKey が呼び出されます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント |
Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー |
Windows Server 2008 [デスクトップ アプリのみ] |
Header |
|
[DLL] |
|