IX509CertificateRequest::Initialize 方法 (certenroll.h)
Initialize 方法初始化用户或计算机的请求对象。
语法
HRESULT Initialize(
[in] X509CertificateEnrollmentContext Context
);
参数
[in] Context
一个 X509CertificateEnrollmentContext 枚举值,该值指定证书是面向最终用户、计算机还是代表计算机操作的管理员。 这可以是以下值之一。
值 | 含义 |
---|---|
|
正在为最终用户请求证书。 |
|
正在为计算机请求证书。 |
|
代表计算机的管理员正在请求证书。 |
返回值
如果函数成功,该函数将返回 S_OK。
如果函数失败,它将返回一个 指示错误的 HRESULT 值。 可能的值包括(但并不限于)下表中的项。 有关常见错误代码的列表,请参阅 通用 HRESULT 值。
返回代码 | 说明 |
---|---|
|
对象已初始化。 |
注解
Initialize 方法根据创建的证书请求的类型初始化各种对象。 如果从 IX509CertificateRequestPkcs10 对象调用此方法,则会创建私钥对象并初始化以下对象:
- 空 的 ICryptAttributes 集合。
- 一个空 的 IX509Extensions 集合。
- 包含默认关键扩展对象标识符的 IObjectIds 集合,XCN_OID_KEY_USAGE和XCN_OID_BASIC_CONSTRAINTS2。 可以通过调用 CriticalExtensions 属性来检索此集合。
- SuppressOids 属性的空 IObjectIds 集合。
- 一个 ICspInformations 对象,其中包含在 CSPInformations 属性或计算机上安装的所有提供程序的集合中指定的值。 此集合用于创建私钥。
如果从 IX509CertificateRequestCmc 对象调用此方法,则会按上述方式创建内部 PKCS #10 请求,并初始化以下对象:
- 空 的 ICryptAttributes 集合。
- 一个空 的 IX509NameValuePairs 集合。
- 一个空 的 IX509Extensions 集合。
- 包含默认关键扩展对象标识符的 IObjectIds 集合,XCN_OID_KEY_USAGE和XCN_OID_BASIC_CONSTRAINTS2。 可以通过调用 CriticalExtensions 属性来检索此集合。
- SuppressOids 属性的空 IObjectIds 集合。
- 一个空 的 ISignerCertificates 集合。
如果从 IX509CertificateRequestPkcs7 对象调用此方法,则会按上述方式创建内部 PKCS #10 请求。
在调用此方法之前,可以调用以下属性。
如果要指定 ICspInformations 集合,则必须在调用此方法之前调用 CSPInformations 属性。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 [仅限桌面应用] |
目标平台 | Windows |
标头 | certenroll.h |
DLL | CertEnroll.dll |