ICertRequest::GetCACertificate 方法 (certcli.h)
GetCACertificate方法會傳回憑證服務伺服器的憑證授權單位單位 (CA) 憑證。
語法
HRESULT GetCACertificate(
[in] LONG fExchangeCertificate,
[in] const BSTR strConfig,
[in] LONG Flags,
[out, retval] BSTR *pstrCertificate
);
參數
[in] fExchangeCertificate
布林值,指定要傳回的 CA 憑證。 如果 fExchangeCertificate 設定為 false,將會傳回 CA 的 簽章憑證 。 CA 的簽章憑證可用來驗證 CA 所簽發憑證的簽章。
Windows Server 2003: 如果 fExchangeCertificate 設定為 true,將會傳回 CA 的 Exchange 憑證。 CA 的 Exchange 憑證可用來加密傳送至 CA 的要求。
從 Windows 7 和 Windows Server 2008 R2 開始,在註冊 HTTPs:// 期間會忽略此參數,如果成功,則函式一律會傳回 CA 交換憑證。 若要擷取註冊 Web 服務的 CA 簽署憑證,請使用ICertificationAuthority介面上的Property方法搭配 CAPropCertificate EnrollmentCAProperty列舉值。
請注意, TRUE 定義 (Microsoft 標頭檔) C/C++ 程式設計人員,而 Visual Basic 會將 True 關鍵字定義為負數。 因此,Visual Basic 開發人員必須使用一個 (,而不是 True) ,將此參數設定為 TRUE。 不過,若要將此參數設定為 FALSE,Visual Basic 開發人員可以使用零或 False。
[in] strConfig
表示憑證服務伺服器的有效組態字串。 此字串可以是註冊伺服器的 HTTPS URL,或是以 ComputerName\CAName格式表示,其中ComputerName是伺服器的網路名稱,而 CAName是憑證授權單位單位的一般名稱,如憑證服務設定期間輸入。 如需組態字串名稱的相關資訊,請參閱 ICertConfig。
Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP: 不支援 HTTPS URL 作為輸入。
[in] Flags
下列旗標可用來指定傳回憑證的格式。
值 | 意義 |
---|---|
|
BASE64 格式開頭/結尾。 |
|
不含開始/結束的 BASE64 格式。 |
|
二進位格式。 |
下列旗標可以與格式旗標結合,以指定完整的憑證鏈結應該包含在要求的 CA 憑證中。 否則,只會傳回 X.509 格式 (要求的 CA 憑證) 。
值 | 意義 |
---|---|
|
在 PKCS #7 中包含完整的憑證鏈結。 |
[out, retval] pstrCertificate
BSTR的指標,其中包含指定格式的憑證服務伺服器的 CA 憑證。
傳回值
C++
如果方法成功,方法會傳回S_OK。成功完成此方法時,*pstrCertificate 會設定為包含 CA 憑證的 BSTR 。 若要使用此方法,請建立 BSTR 類型的變數、將變數設定為 Null,並將此變數的位址傳遞為 pstrCertificate。
當您使用 *pstrCertificate完成時,請呼叫 SysFreeString 函式來釋放它。
如果方法失敗,它會傳回 HRESULT 值,指出錯誤。 如需常見錯誤碼的清單,請參閱 一般 HRESULT 值。
VB
憑證服務伺服器的 CA 憑證,格式為指定。備註
系統管理工作使用 DCOM。 呼叫這個介面方法的程式碼,如舊版 Certadm.h 中所定義,只要用戶端和伺服器都執行相同的 Windows 作業系統,就會在 Windows 伺服器上執行。
規格需求
最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | certcli.h (包括 Certsrv.h) |
程式庫 | Certidl.lib |
Dll | Certcli.dll |