共用方式為


GetCryptProvFromCert 函式

重要

此 API 即將淘汰。 Microsoft 可能會在未來的版本中移除此 API。

 

GetCryptProvFromCert函式會取得密碼編譯服務提供者的控制碼, (CSP) 和憑證內容的金鑰規格。 使用此函式可存取憑證簽發者的 私密金鑰

注意

此函式沒有相關聯的標頭檔或匯入程式庫。 若要呼叫此函式,您必須建立使用者定義的標頭檔,並使用 LoadLibraryGetProcAddress 函式動態連結至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_KEYEXCHANGEAT_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,函式會將 phCryptProvpdwKeySpecpdwProviderType 參數設定為提供者值。

當您完成使用 CSP 時,請呼叫 FreeCryptProvFromCert 函 式來釋放它。

規格需求

需求
最低支援的用戶端
Windows XP [僅限傳統型應用程式]
最低支援的伺服器
Windows Server 2003 [僅限傳統型應用程式]
DLL
Mssign32.dll