IX509Enrollment2::InstallResponse2 方法 (certenroll.h)
InstallResponse2 方法在最终实体计算机上安装证书链。 包含响应的字节数组使用 可辨别编码规则 ( DER) 进行编码,由抽象语法表示法 One (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 证书。 最终实体证书将安装到个人存储,CA 证书将安装到证书颁发机构存储。 |
|
执行 与 AllowUntrustedCertificate 标志相同的操作,但也安装证书,即使无法生成证书链,因为根不受信任。 注意 在 Windows Vista 上,此标志的行为与为 AllowUntrustedCertificate 标志定义的行为相同。 可以从 SP1 的 Windows Vista 开始安装不受信任的根。
|
[in] strResponse
包含 DER 编码响应的 BSTR 变量。
[in] Encoding
一个 EncodingType 枚举值,该值指定应用于包含 DER 编码响应的字符串的编码类型。
[in, optional] strPassword
证书安装的可选密码。 这可以是 NULL ,表示未使用任何密码。 使用完密码后,通过调用 SecureZeroMemory 函数从内存中清除密码。 有关保护密码的详细信息,请参阅 处理密码。
[in] strEnrollmentPolicyServerUrl
包含证书注册策略的 URL 的 BSTR (CEP) 服务器。
[in] strEnrollmentPolicyServerID
包含 CEP 服务器的标识符的 BSTR 。
[in] EnrollmentPolicyServerFlags
PolicyServerUrlFlags 枚举值。 这可以是以下值之一。
[in] authFlags
指定客户端身份验证类型的 X509EnrollmentAuthFlags 枚举值。 对于 Windows 7,只能从以下值中选择 X509AuthCertificate 。
值 | 含义 |
---|---|
|
匿名身份验证。 |
|
Kerberos 身份验证。 |
|
明文用户名和密码身份验证。
注意 用户名和密码在传输之前进行加密,并安全地存储在 CEP 服务器上的凭据保管库中。
|
|
客户端身份验证证书安装在本地计算机上,并由服务器用来验证客户端的身份。 |
返回值
如果函数成功,该函数将返回 S_OK。
如果函数失败,它将返回一个 指示错误的 HRESULT 值。 可能的值包括(但并不限于)下表中的项。 有关常见错误代码的列表,请参阅 通用 HRESULT 值。
返回代码 | 说明 |
---|---|
|
此方法是从 Web 调用的,在 Restrictions 参数中指定了 AllowNoOutstandingRequest 或 AllowUntrustedCertificate。 |
|
包含密码的字符串的长度超过 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 |