IX509EnrollmentHelper::AddPolicyServer 方法 (certenroll.h)

AddPolicyServer 方法 (CEP) 服务器注册证书注册策略,并将 CEP 访问凭据保存在凭据缓存中。 此方法已启用 Web。

语法

HRESULT AddPolicyServer(
  [in] BSTR                    strEnrollmentPolicyServerURI,
  [in] BSTR                    strEnrollmentPolicyID,
  [in] PolicyServerUrlFlags    EnrollmentPolicyServerFlags,
  [in] X509EnrollmentAuthFlags authFlags,
  [in] BSTR                    strCredential,
  [in] BSTR                    strPassword
);

参数

[in] strEnrollmentPolicyServerURI

包含证书注册策略服务器 URL 的 BSTR

[in] strEnrollmentPolicyID

包含证书注册策略服务器 ID 的 BSTR 。 ID 可以是任何字符串。 它由安装 CEP 服务器的管理员设置。

[in] EnrollmentPolicyServerFlags

PolicyServerUrlFlags 枚举值。 对于 AddPolicyServer 函数,可以指定以下值的按位 OR

含义
PsfAutoEnrollmentEnabled
已启用自动证书注册。
PsfAllowUnTrustedCA
指定客户端无需信任发证 CA 的证书,就可以安装由 CA 签名的证书。

[in] authFlags

指定客户端身份验证类型的 X509EnrollmentAuthFlags 枚举值。 这可以是以下值之一。

含义
X509AuthAnonymous
匿名身份验证。 将 strCredentialstrPassword 参数设置为 NULL
X509AuthKerberos
Kerberos 身份验证。 将 strCredentialstrPassword 参数设置为 NULL
X509AuthUsername
明文用户名和密码身份验证。 将 strCredentialstrPassword 参数设置为用户名和关联的密码。 这些字符串在传输之前进行加密,并安全地存储在 CEP 服务器上的凭据保管库中。
X509AuthCertificate
客户端身份验证证书安装在本地计算机上,由服务器用来验证客户端的标识。 将 strPassword 参数设置为 NULL ,并在 strCredential 参数中设置证书指纹(证书的 20 字节 SHA1 哈希)。

[in] strCredential

包含凭据的 BSTR

[in] strPassword

包含明文密码的 BSTR

返回值

如果函数成功,该函数将返回 S_OK

如果函数失败,它将返回指示错误的 HRESULT 值。 可能的值包括(但并不限于)下表中的项。 有关常见错误代码的列表,请参阅 常见 HRESULT 值

返回代码 说明
E_INVALIDARG
strEnrollmentPolicyServerURIstrCredentialstrPassword 参数不能为 NULL 或空。
HRESULT_FROM_WIN32 (ERROR_ARITHMETIC_OVERFLOW)
strPasswordstrCredentialstrEnrollmentServerURI 参数超过 64,000 个字符或包含嵌入的 null 字符。

注解

strCredentialstrPassword 参数根据 authFlags 参数中指定的值而更改,如下表所示。

flag 参数 strCredential 参数 strPassword 参数
X509AuthAnonymous NULL NULL
X509AuthKerberos NULL NULL
X509AuthUsername CEP 服务器识别的明文用户名。 与用户名关联的明文密码。
X509AuthCertificate 包含证书的 20 字节 SHA-1 哈希 (指纹) 。 NULL

要求

要求
最低受支持的客户端 Windows 7 [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 R2 [仅限桌面应用]
目标平台 Windows
标头 certenroll.h

另请参阅

IX509EnrollmentHelper