IX509ExtensionSubjectKeyIdentifier::InitializeEncode 方法 (certenroll.h)

InitializeEncode 方法从包含密钥标识符的字节数组初始化扩展。 字节数组由 Unicode 编码的字符串表示。

语法

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

参数

[in] Encoding

一个 EncodingType 枚举值,该值指定应用于 strKeyIdentifier 参数的 Unicode 编码的类型。

[in] strKeyIdentifier

包含密钥标识符的 BSTR 变量。

返回值

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

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

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

注解

通常,输入值应是证书颁发机构签名证书中包含的 公钥 的 SHA-1 哈希。 方法将值与 XCN_OID_SUBJECT_KEY_IDENTIFIER (2.5.29.14) 对象标识符 (OID) 相关联,并使用 可辨别编码规则 (DER) 对其进行编码。

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

可以检索此扩展的以下属性:

要求

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

另请参阅

IX509ExtensionSubjectKeyIdentifier