IX509Enrollment::CreateRequest 方法 (certenroll.h)

CreateRequest 方法检索编码的证书请求。 证书请求包含在字节数组中,该字节数组使用 可辨别编码规则 (DER) 进行编码,如抽象语法表示法 One (ASN.1) 标准所定义。 DER 编码的字节数组由纯二进制序列或 Unicode 编码的字符串表示。 此方法已启用 Web。

语法

HRESULT CreateRequest(
  [in]  EncodingType Encoding,
  [out] BSTR         *pValue
);

参数

[in] Encoding

一个 EncodingType 枚举值,该值指定应用于 DER 编码请求的 Unicode 编码的类型。 默认值为 XCN_CRYPT_STRING_BASE64

[out] pValue

指向包含 DER 编码请求的 BSTR 变量的指针。

返回值

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

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

返回代码/值 说明
CERTSRV_E_PROPERTY_EMPTY
找不到证书请求。
OLE_E_BLANK
注册对象尚未初始化。

注解

CreateRequest 方法调用 Encode 方法(如有必要)对关联请求对象中的原始数据进行编码。

此方法使用初始化期间提供的信息和已指定的其他属性,创建一个虚拟证书并将其置于请求存储中。 如有必要, 方法还会创建密钥对。 根据初始化注册对象的方式和设置的属性,可能不需要创建密钥对。 例如,如果要使用现有密钥续订证书,或者如果与证书请求关联的 IX509PrivateKey 对象表示现有密钥,则此方法不会创建新的密钥对。

如果涉及智能卡,此方法会将外部属性编码为扩展,将它们包含在虚拟证书中,并将虚拟证书写入智能卡密钥容器。 智能卡登录证书将编码到请求存储区,而不是个人存储区。

在调用 CreateRequest 方法之前,必须通过调用以下方法之一来初始化 IX509Enrollment 对象。

要求

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

另请参阅

IX509CertificateRequest

IX509Enrollment