ICertGetConfig::GetConfig 方法 (certcli.h)
GetConfig 方法會擷取憑證服務伺服器的組態字串。
組態字串是伺服器名稱和 證書頒發機構單位 , (CA) 名稱,並以反斜杠 (\) 分隔;例如: ServerName\CAName。 此組態字串可用來明確參考特定的憑證服務伺服器。 如需詳細資訊,請參閱<備註>。
語法
HRESULT GetConfig(
[in] LONG Flags,
[out] BSTR *pstrOut
);
參數
[in] Flags
值,指定要使用的 CA。 此參數可以是下列其中一個值。
[out] pstrOut
包含組態的 BSTR 指標。 當您完成設定時,請呼叫 SysFreeString 函式以釋放 pbstrOut。
傳回值
如果函式成功,傳回值會S_OK。
如果方法失敗,則傳回值為表示錯誤的 HRESULT 。 如需常見錯誤碼的清單,請參閱 一般 HRESULT 值。
備註
證書頒發機構單位 (CA) 此函式傳回之組態字串的名稱部分,是在憑證服務設定程式期間輸入的確切文字。 請注意,此文字可能與檔名 (中找到的 CA 名稱形式不同,例如證書 吊銷清單) 或登錄機碼中。 這是因為檔名和登錄機碼使用 CA 名稱的 清理 版本。
必須清除 CA 名稱的程式,才能移除檔名、登錄機碼名稱或辨別名稱值不合法的字元,或基於憑證服務的特定原因而不合法。 在清理程式中,通用名稱中的任何不合法字元會轉換成格式為五個字元的表示 法!xxxx,其中驚嘆號 (!) 做為逸出字元, 而xxxx 代表四個唯一識別要轉換之字元的十六進位數位。
例如,Active Directory 目錄服務中的辨別名稱不允許數位符號 (#) 。 如果在安裝期間輸入的 CA 名稱是 #YourName,則清理的 CA 名稱會是 !0023YourName。
如果在安裝期間針對 CA 的一般名稱輸入下列字元,則會轉換成 !清理程式期間的xxxx格式。 此清單會隨時變動。
字元 | !xxxx 格式的值 |
---|---|
< | !003c |
> | !003e |
" | !0022 |
/ | !002f |
\ | !005c |
: | !003a |
| | !007c |
? | !003f |
* | !002a |
# | !0023 |
, | !002c |
+ | !002b |
; | !003b |
! | !0021 |
任何非列印字元和不是七位的所有 Unicode 字元也會轉換成 !xxxx 格式。
當 64 個字元的目錄服務相對辨別名稱 (RDN) 時,就會產生清理的簡短名稱。 清理的簡短名稱是由已截斷的清理名稱所組成,並以完整清理名稱的 哈希 附加。 清理的簡短名稱會保留一些 64 個字元,以包含證書吊銷 清單 , (CRL) 後綴,例如 (123) 。
這個方法所傳回之組態字串的 CA 名稱部分是安裝期間輸入的原始文字。 請注意,需要 CA 名稱做為參數的憑證服務方法會接受原本輸入的 CA 名稱。 例如,針對 CA 名稱 #YourName,
ICertView2::OpenConnection 方法接受 #YourName 做為參數的 CA 部分。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 都不支援 |
最低支援的伺服器 | Windows Server 2003 [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | certcli.h (包含 Certsrv.h) |
程式庫 | Certidl.lib |
Dll | Certcli.dll |