IX509Enrollment::InstallResponse 方法 (certenroll.h)

InstallResponse方法會在終端實體電腦上安裝憑證鏈結。 包含回應的位元組陣列會使用可辨別編碼規則 (DER) 編碼,如抽象語法標記法一 (ASN.1) 標準所定義。 您必須在純二進位序列或 Unicode 編碼的字串中指定 DER 編碼位元組陣列。 此方法已啟用 Web。

語法

HRESULT InstallResponse(
  [in]           InstallResponseRestrictionFlags Restrictions,
  [in]           BSTR                            strResponse,
  [in]           EncodingType                    Encoding,
  [in, optional] BSTR                            strPassword
);

參數

[in] Restrictions

InstallResponseRestrictionFlags列舉值,指定可安裝的憑證類型。 這可以是下列一或多個值。

意義
AllowNone
請勿安裝沒有對應要求的不受信任憑證或憑證。
AllowNoOutstandingRequest
從憑證回應建立 私密金鑰 ,而不是從虛擬憑證建立私密金鑰。 這可讓虛擬憑證成為選擇性的。 如果未設定此值,則虛擬憑證必須存在,而且會從中擷取私密金鑰。
AllowUntrustedCertificate
安裝不受信任的結束實體和 憑證授權單位單位 憑證。 憑證授權單位單位憑證包括根憑證和次級 CA 憑證。 終端實體憑證會安裝到個人存放區,並將 CA 憑證安裝到憑證授權單位單位存放區。
AllowUntrustedRoot
執行與 AllowUntrustedCertificate 旗標相同的動作,但即使無法建置憑證鏈結,仍會安裝憑證,因為根目錄不受信任。
注意 在 Windows Vista 上,此旗標的行為與 針對 AllowUntrustedCertificate 旗標定義的行為相同。 從 Windows Vista SP1 開始,您可以安裝鏈結至不受根信任目錄的憑證。
 

[in] strResponse

包含 DER 編碼回應的 BSTR 變數。

[in] Encoding

EncodingType列舉值,指定套用至包含 DER 編碼回應之字串的編碼類型。

[in, optional] strPassword

憑證安裝的選擇性密碼。 這可以是 Null 或空字串,表示未使用任何密碼。 如果有密碼,當您呼叫 SecureZeroMemory 函式完成使用時,請從記憶體中清除密碼。 如需保護密碼的詳細資訊,請參閱 處理密碼

從 Windows 8 和 Windows Server 2012 開始,Null或空白密碼可能表示 PFX 封包是使用PKCS12_PROTECT_TO_DOMAIN_SIDS旗標在PFXExportCertStoreEx 函式中建立。 如果是,PFX 已加密至 Active Directory 群組。 如需詳細資訊,請參閱 PFXExportCertStoreExPFXImportCertStore

傳回值

如果函式成功,函式會傳回 S_OK

如果函式失敗,它會傳回 指出錯誤的 HRESULT 值。 可能的值包括 (但不限於) 下表中的這些值。 如需常見錯誤碼的清單,請參閱 一般 HRESULT 值

傳回碼 Description
E_ACCESSDENIED
這個方法是從 Web 呼叫, 而 AllowNoOutstandingRequestAllowUntrustedCertificate 是在 Restrictions 參數中指定。
HRESULT_FROM_WIN32 (ERROR_ARITHMETIC_OVERFLOW
包含密碼的字串長度超過 64 KB。
OLE_E_BLANK
尚未初始化註冊物件。

備註

InstallResponse方法:

  1. 從外部存放區擷取虛擬憑證。
  2. 擷取回應中包含的憑證,並將其安裝在電腦上。
  3. 將屬性從外部存放區中的虛擬憑證複製到個人存放區中新安裝的憑證。

呼叫 InstallResponse 方法之前,您必須呼叫下列其中一種方法來初始化 IX509Enrollment 物件。

如果您從 Web 呼叫此方法,則只能在Restrictions參數中指定AllowNoneAllowUntrustedRoot。 如果您指定 AllowNoOutstandingRequestAllowUntrustedCertificate,此方法會傳回 E_ACCESSDENIED 錯誤。

規格需求

   
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 [僅限傳統型應用程式]
目標平台 Windows
標頭 certenroll.h
Dll CertEnroll.dll

另請參閱

IX509Enrollment