IX509Enrollment2::InstallResponse2 方法 (certenroll.h)
InstallResponse2 方法會在終端實體計算機上安裝憑證鏈結。 包含回應的位元組陣列會使用 可辨別編碼規則 (DER) 編碼,如抽象語法表示法一 (ASN.1) 標準所定義。 您必須在純二進位序列或 Unicode 編碼的字串中指定 DER 編碼位元組陣列。 此方法已啟用 Web。
語法
HRESULT InstallResponse2(
[in] InstallResponseRestrictionFlags Restrictions,
[in] BSTR strResponse,
[in] EncodingType Encoding,
[in, optional] BSTR strPassword,
[in] BSTR strEnrollmentPolicyServerUrl,
[in] BSTR strEnrollmentPolicyServerID,
[in] PolicyServerUrlFlags EnrollmentPolicyServerFlags,
[in] X509EnrollmentAuthFlags authFlags
);
參數
[in] Restrictions
InstallResponseRestrictionFlags 列舉值,指定可安裝的憑證類型。 這可以是下列一或多個值。
值 | 意義 |
---|---|
|
請勿安裝沒有對應要求的不受信任憑證或憑證。 |
|
從憑證回應建立 私鑰 ,而不是從虛擬憑證建立私鑰。 這可讓虛擬憑證成為選擇性的。 如果未設定此值,則虛擬憑證必須存在,而且會從中擷取私鑰。 |
|
安裝不受信任的結束實體和 證書頒發機構單位 憑證。 證書頒發機構單位憑證包括跟證書和次級 CA 憑證。 終端實體憑證會安裝到個人存放區,並將 CA 憑證安裝到證書頒發機構單位存放區。 |
|
執行與 AllowUntrustedCertificate 旗標相同的動作,但即使無法建置憑證鏈結,仍會安裝憑證,因為根目錄不受信任。 注意 在 Windows Vista 上,此旗標的行為與 針對 AllowUntrustedCertificate 旗標定義的行為相同。 您可以從 Windows Vista SP1 開始安裝不受信任的根目錄。
|
[in] strResponse
包含 DER 編碼回應的 BSTR 變數。
[in] Encoding
EncodingType 列舉值,指定套用至包含 DER 編碼回應之字串的編碼類型。
[in, optional] strPassword
憑證安裝的選擇性密碼。 這可以是 NULL ,表示未使用任何密碼。 當您完成使用密碼時,請呼叫 SecureZeroMemory 函式,從記憶體中清除密碼。 如需保護密碼的詳細資訊,請參閱 處理密碼。
[in] strEnrollmentPolicyServerUrl
BSTR,其中包含憑證註冊原則的 URL (CEP) 伺服器。
[in] strEnrollmentPolicyServerID
包含 CEP 伺服器的識別碼的 BSTR 。
[in] EnrollmentPolicyServerFlags
PolicyServerUrlFlags 列舉值。 這可以是下列其中一個值。
[in] authFlags
指定客戶端驗證類型的 X509EnrollmentAuthFlags 列舉值。 針對 Windows 7,只能從下列值中選擇 X509AuthCertificate 。
值 | 意義 |
---|---|
|
匿名驗證。 |
|
Kerberos 驗證。 |
|
純文字用戶名稱和密碼驗證。
注意 使用者名稱和密碼會在傳輸之前加密,並安全地儲存在 CEP 伺服器上的認證保存庫中。
|
|
安裝在本機電腦上的用戶端驗證憑證,並由伺服器用來驗證用戶端的身分識別。 |
傳回值
如果函式成功,函式會傳回 S_OK。
如果函式失敗,它會傳回 指出錯誤的 HRESULT 值。 可能的值包括 (但不限於) 下表中的這些值。 如需常見錯誤碼的清單,請參閱 一般 HRESULT 值。
傳回碼 | Description |
---|---|
|
這個方法是從 Web 呼叫, 而 AllowNoOutstandingRequest 或 AllowUntrustedCertificate 是在 Restrictions 參數中指定。 |
|
包含密碼的字串長度超過 64 KB。 |
|
尚未初始化註冊物件。 |
備註
InstallResponse2 方法:
- 從外部存放區擷取虛擬憑證。
- 擷取回應中包含的憑證,並將其安裝在計算機上。
- 將屬性從外部存放區中的虛擬憑證複製到個人存放區中新安裝的憑證。
呼叫 InstallResponse2 方法之前,您必須呼叫下列其中一種方法來初始化 IX509Enrollment 物件。
如果您從 Web 呼叫此方法,則只能在 Restrictions 參數中指定 AllowNone 或 AllowUntrustedRoot。 如果您指定 AllowNoOutstandingRequest 或 AllowUntrustedCertificate,此方法會傳回 E_ACCESSDENIED 錯誤。
最後四個參數 (strEnrollmentPolicyServerUrl、 strEnrollmentPolicyServerID、 EnrollmentPolicyServerFlags 和 authFlags) 不包含在 InstallResponse 方法中。 它們可讓您以 與 ICertPropertyEnrollmentPolicyServer 介面相同的方式,將屬性值新增至已安裝的憑證。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 7 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008 R2 [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | certenroll.h |