ICertPropertyEnrollment::Initialize 方法(certenroll.h)

Initialize 方法从证书请求 ID、证书颁发机构(CA)配置字符串和可选证书显示名称初始化属性。

Syntax

HRESULT Initialize(
  [in]           LONG RequestId,
  [in]           BSTR strCADnsName,
  [in]           BSTR strCAName,
  [in, optional] BSTR strFriendlyName
);

参数

[in] RequestId

包含证书请求 ID 的 LONG 变量。 注册过程会创建请求 ID。 可以通过在 IX509Enrollment 接口上调用 RequestId 属性来检索此值。

[in] strCADnsName

包含 CA 的域名系统(DNS)名称的 BSTR 变量。 这是 CADnsName\CAName CA 配置字符串中的名字。 配置字符串通常在注册过程中设置。 可以通过调用 CAConfigString 属性并将字符串分隔为其构成部分来检索 DNS 名称。

[in] strCAName

包含 CA 的主题公用名 (CN) 的 BSTR 变量。 这是 CADnsName\CAName CA 配置字符串中的第二个名称。 配置字符串通常在注册过程中设置。 可以通过调用 CAConfigString 属性并将字符串分隔为其构成部分来检索 CN 名称。

[in, optional] strFriendlyName

一个 BSTR 变量,其中包含证书的可选显示名称。 默认值为 NULL。 此值通常在注册过程中设置。 可以通过调用 CertificateFriendlyName 属性来检索它。

返回值

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

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

返回代码/值 Description
HRESULT_FROM_WIN32(ERROR_ALREADY_INITIALIZED)
对象已初始化。

注解

客户端在 IX509Enrollment 对象上调用 Enrollment 方法时,会在证书注册过程中设置可用于初始化 ICertPropertyEnrollment 对象的值。 也就是说,若要检索请求 ID,请在 IX509Enrollment 对象上调用 RequestId 属性。 若要检索证书显示名称,请调用 CertificateFriendlyName 属性。 若要检索可分辨名称和公用名,请调用 CAConfigString 属性并将配置字符串分隔为其构成部分。

调用 SetValueOnCertificate 方法,将属性与证书相关联。 还可以调用以下属性来检索初始化期间指定的值:

要求

Requirement 价值
最低支持的客户端 Windows Vista [仅限桌面应用]
支持的最低服务器 Windows Server 2008 [仅限桌面应用]
目标平台 Windows操作系统
Header certenroll.h
DLL CertEnroll.dll

另请参阅

ICertProperty

ICertPropertyEnrollment