IX509AttributeRenewalCertificate::InitializeEncode 方法 (certenroll.h)

InitializeEncode 方法通过使用要续订的证书初始化 属性。 必须使用 可辨别编码规则 ( DER) 对证书进行编码。

语法

HRESULT InitializeEncode(
  [in] EncodingType Encoding,
  [in] BSTR         strCert
);

参数

[in] Encoding

一个 EncodingType 枚举值,该值指定应用于 strCert 参数中包含的证书的 Unicode 编码的类型。

[in] strCert

包含 DER 编码证书的 BSTR 变量。

从 Windows 7 和 Windows Server 2008 R2 开始,可以指定证书指纹或序列号,而不是编码的证书。 这样做会导致函数在相应的本地存储中搜索匹配的证书。 请注意以下几点:

  • BSTR 必须是偶数个十六进制数字。
  • 忽略十六进制对之间的空格。
  • Encoding 参数必须设置为 XCN_CRYPT_STRING_HEXRAW
  • 如果需要私钥,则仅搜索个人和请求存储。
  • 如果不需要私钥,则还会搜索根和中间 CA 存储。

返回值

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

如果函数失败,它将返回指示错误的 HRESULT 值。 有关常见错误代码的列表,请参阅 常见 HRESULT 值

备注

此属性 (OID) 的对象标识符XCN_OID_RENEWAL_CERTIFICATE (1.3.6.1.4.1.311.13.1) 。 有关详细信息,请参阅 CERTENROLL_OBJECTID

必须先调用 InitializeEncodeInitializeDecode ,然后才能使用 IX509AttributeRenewalCertificate 对象。 这两种方法相互补充。 使用 InitializeEncode 方法,可以从原始数据构造编码的抽象语法表示法 One (ASN.1) 结构,而 InitializeDecode 方法使您能够从编码的 ASN.1 结构初始化原始数据。 可以调用 RenewalCertificate 属性来检索原始数据。

要求

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

另请参阅

IX509AttributeRenewalCertificate