IX509CertificateRequestPkcs7::InitializeDecode 方法 (certenroll.h)

InitializeDecode 方法解码现有的有符号或无符号 PKCS #7 请求对象,并使用它来初始化新的 PKCS #7 对象。 现有请求包含在已使用 可辨别编码规则 ( DER) 编码的字节数组中,如抽象语法表示法 One (ASN.1) 标准所定义。 字节数组由纯二进制序列或 Unicode 编码的字符串表示。

语法

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 值

返回代码/值 说明
HRESULT_FROM_WIN32 (ERROR_ALREADY_INITIALIZED)
请求对象已初始化。

注解

InitializeDecode 方法:

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

说明
L“ContextMachine” 编码的证书请求适用于计算机。
L“ContextUser” 编码的证书请求适用于最终用户。
L“ContextAdministratorForceMachine” 由代表计算机的管理员请求编码的证书。
 

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

要求

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

另请参阅

IX509CertificateRequestPkcs7