SslGenerateMasterKey 函式
SslGenerateMasterKey函式會計算安全通訊端層通訊協定 (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 提供者通訊協定識別碼 值。
-
dwCipherSuite [in]
-
其中一個 CNG SSL 提供者加密套件識別碼 值。
-
pParameterList [in]
-
NCryptBuffer緩衝區陣列的指標,其中包含做為金鑰交換作業一部分的資訊。 精確的緩衝區集取決於使用的通訊協定和加密套件。 清單至少會包含包含用戶端和伺服器提供的隨機值的緩衝區。
-
pbOutput [out]
-
緩衝區的位址,該緩衝區會接收使用伺服器公開金鑰加密的預製主機密碼。 cbOutput參數包含這個緩衝區的大小。 如果此參數為Null,此函式會傳回由其所指向之 DWORD中所需的大小,以位元組為單位。
注意
執行 RSA 金鑰交換時,會使用此緩衝區。
-
cbOutput [in]
-
pbOutput緩衝區的大小,以位元組為單位。
-
azureResult [out]
-
DWORD值的指標,用來放置寫入pbOutput緩衝區的位元組數目。
-
dwFlags [in]
-
指定此函式是否用於用戶端或伺服器端金鑰交換。
值 意義 - NCRYPT_SSL_CLIENT_FLAG
- 0x00000001
指定用戶端金鑰交換。 - NCRYPT_SSL_SERVER_FLAG
- 0x00000002
指定伺服器端金鑰交換。
傳回值
如果函式成功,則會傳回零。
如果函式失敗,它會傳回非零的錯誤值。
可能的傳回碼包括但不限於下列專案。
傳回碼/值 | Description |
---|---|
|
記憶體不足,無法配置必要的緩衝區。 |
|
其中一個提供的控制碼無效。 |
|
phMasterKey或hPublicKey參數無效。 |
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 |
Windows Vista [僅限傳統型應用程式] |
最低支援的伺服器 |
Windows Server 2008 [僅限傳統型應用程式] |
標頭 |
|
DLL |
|