SslGenerateMasterKey 関数
SslGenerateMasterKey 関数は、Secure Sockets Layer プロトコル (SSL) マスター シークレット キーを計算します。
構文
SECURITY_STATUS WINAPI SslGenerateMasterKey(
_In_ NCRYPT_PROV_HANDLE hSslProvider,
_In_ NCRYPT_KEY_HANDLE hPrivateKey,
_In_ NCRYPT_KEY_HANDLE hPublicKey,
_Out_ NCRYPT_KEY_HANDLE *phMasterKey,
_In_ DWORD dwProtocol,
_In_ DWORD dwCipherSuite,
_In_ PNCryptBufferDesc pParameterList,
_Out_ PBYTE pbOutput,
_In_ DWORD cbOutput,
_Out_ DWORD *pcbResult,
_In_ DWORD dwFlags
);
パラメーター
-
hSslProvider [in]
-
SSL プロトコル プロバイダー インスタンスへのハンドル。
-
hPrivateKey [in]
-
交換で使用される 秘密キー へのハンドル。
-
hPublicKey [in]
-
交換で使用される 公開キー へのハンドル。
-
phMasterKey [out]
-
生成された マスター キーへのハンドルへのポインター。
-
dwProtocol [in]
-
CNG SSL プロバイダー プロトコル識別子の値の 1 つ。
-
dwCipherSuite [in]
-
CNG SSL プロバイダー暗号スイート識別子の値の 1 つ。
-
pParameterList [in]
-
キー交換操作の一部として使用される情報を含む NCryptBuffer バッファーの配列へのポインター。 バッファーの正確なセットは、使用されるプロトコルと暗号スイートに依存します。 少なくとも、リストには、クライアントとサーバーが指定したランダムな値を含むバッファーが含まれます。
-
pbOutput [out]
-
サーバーの公開キーで暗号化されたプリマスター シークレットを受信するバッファーのアドレス。 cbOutput パラメーターには、このバッファーのサイズが含まれています。 このパラメーターが NULL の場合、この関数は、pcbResult パラメーターが指す DWORD 内の必要なサイズをバイト単位で返します。
注意
このバッファーは、RSA キー交換を実行するときに使用されます。
-
cbOutput [in]
-
pbOutput バッファーのサイズ (バイト単位)。
-
pcbResult [out]
-
pbOutput バッファーに書き込まれたバイト数を格納する DWORD 値へのポインター。
-
dwFlags [in]
-
この関数をクライアント側またはサーバー側のキー交換に使用するかどうかを指定します。
値 説明 - NCRYPT_SSL_CLIENT_FLAG
- 0x00000001
クライアント側のキー交換を指定します。 - NCRYPT_SSL_SERVER_FLAG
- 0x00000002
サーバー側のキー交換を指定します。
戻り値
関数が成功すると、0 が返されます。
関数が失敗すると、0 以外のエラー値が返されます。
可能なリターン コードには、次のものが含まれますが、これらに限定されません。
リターン コード/値 | 説明 |
---|---|
|
必要なバッファーを割り当てるのに十分なメモリがありません。 |
|
指定されたハンドルの 1 つが無効です。 |
|
phMasterKey または hPublicKey パラメーターが無効です。 |
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント |
Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー |
Windows Server 2008 [デスクトップ アプリのみ] |
Header |
|
[DLL] |
|