IX509EnrollmentHelper::AddEnrollmentServer 方法 (certenroll.h)

AddEnrollmentServer 方法将证书注册服务器 (CES) 访问凭据保存在凭据缓存中。 此方法已启用 Web。

语法

HRESULT AddEnrollmentServer(
  [in] BSTR                    strEnrollmentServerURI,
  [in] X509EnrollmentAuthFlags authFlags,
  [in] BSTR                    strCredential,
  [in] BSTR                    strPassword
);

参数

[in] strEnrollmentServerURI

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

[in] authFlags

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

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

[in] strCredential

包含凭据的 BSTR

[in] strPassword

包含明文密码的 BSTR

返回值

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

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

返回代码 说明
E_INVALIDARG
strEnrollmentServerURI 参数不能为 NULL 或空。

如果在 authFlags 参数中指定了 X509AuthAnonymous 或 X509AuthKerberos, 则 strCredential 参数不得为 NULL

如果在 authFlags 参数中指定了 X509AuthCertificate, 则 strCredential 参数必须为 NULL

如果在 authFlags 参数中指定的 X509AuthCertificateis, 则 strPassword 参数必须为 NULL,但 strCredential 参数不得为 。

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