IX509CertificateRequestPkcs10::InitializeDecode 方法 (certenroll.h)

InitializeDecode 方法解码现有已签名或未签名的 PKCS #10 证书请求,并使用它初始化新的 PKCS #10 请求对象。 现有请求包含在字节数组中,该字节数组使用由抽象语法表示法一(ASN.1)标准定义的“可分辨编码规则”(DER)进行编码。 字节数组由纯二进制序列或 Unicode 编码的字符串表示。

Syntax

HRESULT InitializeDecode(
  [in] BSTR         strEncodedData,
  [in] EncodingType Encoding
);

参数

[in] strEncodedData

包含 DER 编码请求的 BSTR 变量。 有关详细信息,请参阅“备注”。

[in] Encoding

一个 EncodingType 枚举值,该值指定应用于包含 DER 编码请求的输入字符串的 Unicode 编码的类型。 默认值 为XCN_CRYPT_STRING_BASE64

返回值

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

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

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

注解

InitializeDecode 方法对现有 PKCS #10 请求进行解码,并使用检索到的信息初始化新请求对象的以下集合:

该方法还:

默认情况下, InitializeDecode 方法假定要解码的证书请求适用于最终用户。 从 Windows 8 和 Windows Server 2012 开始,可以更改此默认行为。 创建 IX509CertificateRequestPkcs10 接口的实例后,通过将 Encoding 参数设置为 XCN_CRYPT_STRING_BINARY,并将 strEncodedData 参数设置为以下值之一来调用 InitializeDecode

价值 Description
L“ContextMachine” 编码的证书请求适用于计算机。
L“ContextUser” 编码的证书请求适用于最终用户。
L“ContextAdministratorForceMachine” 代理计算机的管理员正在请求编码的证书。
 

然后,使用 strEncodedData 参数中设置的编码证书再次调用 InitializeDecode 方法。

要求

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

另请参阅

IX509CertificateRequestPkcs10