SslExportKey 函式
SslExportKey函式會將安全通訊端層通訊協定 (SSL) 工作階段金鑰或公用暫時金鑰傳回序列化的BLOB。
語法
SECURITY_STATUS WINAPI SslExportKey(
_In_ NCRYPT_PROV_HANDLE hSslProvider,
_In_ NCRYPT_KEY_HANDLE hKey,
_In_ LPCWSTR pszBlobType,
_Out_opt_ PBYTE pbOutput,
_In_ DWORD cbOutput,
_Out_ DWORD *pcbResult,
_In_ DWORD dwFlags
);
參數
-
hSslProvider [in]
-
SSL 通訊協定提供者實例的控制碼。
-
hKey [in]
-
要匯出之金鑰的控制碼。
當您未指定金鑰時,請將此參數設定為 Null。
注意
呼叫SslOpenPrivateKey函式可取得hKey控制碼。 不支援從 NCryptOpenKey 函式取得的控制碼。
-
pszBlobType [in]
-
Null 終止的 Unicode 字串,其中包含指定要匯出之 BLOB 類型的識別碼。 這可以是下列其中一個值。
值 意義 - BCRYPT_DH_PUBLIC_BLOB
匯出Diffie-Hellman 公開金鑰。 pbOutput緩衝區會立即接收BCRYPT_DH_KEY_BLOB結構,後面接著索引鍵資料。 - BCRYPT_ECCPUBLIC_BLOB
匯出 橢圓曲線密碼編譯 (ECC) 公開金鑰。 pbOutput緩衝區會立即接收BCRYPT_ECCKEY_BLOB結構,後面接著索引鍵資料。 - BCRYPT_OPAQUE_KEY_BLOB
以單一 密碼編譯服務提供者 特定的格式匯出對稱金鑰, (CSP) 。 不透明 BLOB 無法傳輸,而且必須使用產生 BLOB 的相同 密碼編譯服務提供者 (CSP) 匯入。 - BCRYPT_RSAPUBLIC_BLOB
匯出 RSA 公開金鑰。 pbOutput緩衝區會立即接收BCRYPT_RSAKEY_BLOB結構,後面接著索引鍵資料。 -
pbOutput [out, optional]
-
接收 金鑰 BLOB的緩衝區位址。 cbOutput參數包含這個緩衝區的大小。 如果此參數為Null,則此函式會將所需的大小,以位元組為單位,放在由 azureResult參數所指向的DWORD中。
-
cbOutput [in]
-
pbOutput緩衝區的大小,以位元組為單位。
-
azureResult [out]
-
接收復制到pbOutput緩衝區之位元組數目的DWORD變數位址。 如果在呼叫函式時,pbOutput參數設定為Null,則會在此參數所指向的DWORD中傳回pbOutput緩衝區的必要大小,以位元組為單位。
-
dwFlags [in]
-
保留供未來使用。
傳回值
如果函式成功,則會傳回零。
如果函式失敗,它會傳回非零的錯誤值。
可能的傳回碼包括但不限於下列專案。
傳回碼/值 | Description |
---|---|
|
其中一個提供的控制碼無效。 |
備註
SslExportKey函式有助於將工作階段金鑰從一個進程傳輸到另一個進程,以及匯出暫時金鑰的公用部分。
匯出工作階段金鑰時,BLOB 類型不透明,這表示只要 SslExportKey 和 SslImportKey 函式可以解譯 BLOB 的格式就無關。
匯出暫時金鑰的公用部分時,BLOB 類型必須是適當的類型,例如 NCRYPT_DH_PUBLIC_BLOB 或 NCRYPT_ECCPUBLIC_BLOB。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 |
Windows Vista [僅限傳統型應用程式] |
最低支援的伺服器 |
Windows Server 2008 [僅限傳統型應用程式] |
標頭 |
|
DLL |
|