GetCryptProvFromCert 函式
重要
此 API 即將淘汰。 Microsoft 可能會在未來的版本中移除此 API。
GetCryptProvFromCert函式會取得密碼編譯服務提供者的控制碼, (CSP) 和憑證內容的金鑰規格。 使用此函式可存取憑證簽發者的 私密金鑰 。
注意
此函式沒有相關聯的標頭檔或匯入程式庫。 若要呼叫此函式,您必須建立使用者定義的標頭檔,並使用 LoadLibrary 和 GetProcAddress 函式動態連結至Mssign32.dll。
語法
BOOL WINAPI GetCryptProvFromCert(
_In_ HWND hwnd,
_In_ PCCERT_CONTEXT pCert,
_Out_ HCRYPTPROV *phCryptProv,
_Out_ DWORD *pdwKeySpec,
_In_ BOOL *pfDidCryptAcquire,
_Out_opt_ LPWSTR *ppwszTmpContainer,
_Out_opt_ LPWSTR *ppwszProviderName,
_Out_ DWORD *pdwProviderType
);
參數
-
hwnd [in]
-
視窗的控制碼,用來做為所顯示之任何對話方塊的擁有者。 目前未使用這個成員,而且會被忽略。 為此參數傳遞 Null 是安全的。
-
pCert [in]
-
憑證 之CERT_CONTEXT 結構的指標。
-
phCryptProv [out]
-
HCRYPTPROV結構的指標,這是 CSP 的控制碼。
-
pdwKeySpec [out]
-
要擷取之私密金鑰的規格。 可能的值包括 AT_KEYEXCHANGE 或 AT_SIGNATURE。
-
pfDidCryptAcquire [in]
-
值,指定函式是否根據憑證取得提供者控制碼。
-
ppwszTmpContainer [out, optional]
-
暫存索引鍵容器名稱之 Null 終止字串的指標位址。 GetCryptProvFromCert函式會提供並初始化暫存容器。 呼叫 GetCryptProvFromCert時,位址應該指向 Null 值。
-
ppwszProviderName [out, optional]
-
提供者名稱之 Null 終止字串指標的位址。 GetCryptProvFromCert函式會傳回提供者名稱。 呼叫 GetCryptProvFromCert時,位址應該指向 Null 值。
-
pdwProviderType [out]
-
指定 CSP 類型。 這可以是零或其中一個 密碼編譯提供者類型。 如果這個成員是零,金鑰容器就是其中一個 CNG 金鑰儲存提供者。
傳回值
成功時,此函式會傳回 TRUE。 如果 GetCryptProvFromCert 函式失敗,則會傳回FALSE。
備註
當您使用-is命令列選項叫用GetCryptProvFromCert 時,MakeCert 工具會呼叫 GetCryptProvFromCert。
如果 pfDidCryptAcquire 參數設定為 TRUE,函式會將 phCryptProv、 pdwKeySpec和 pdwProviderType 參數設定為提供者值。
當您完成使用 CSP 時,請呼叫 FreeCryptProvFromCert 函 式來釋放它。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 |
Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 |
Windows Server 2003 [僅限傳統型應用程式] |
DLL |
|