IX509PublicKey::ComputeKeyIdentifier 方法 (certenroll.h)

ComputeKeyIdentifier 方法根据公钥的 160 位 SHA-1 哈希创建标识符。

语法

HRESULT ComputeKeyIdentifier(
  [in]  KeyIdentifierHashAlgorithm Algorithm,
  [in]  EncodingType               Encoding,
  [out] BSTR                       *pValue
);

参数

[in] Algorithm

KeyIdentifierHashAlgorithm 枚举的值,指定用于创建密钥标识符的哈希算法。

如果此值为 SKIHashDefault 或 SKIHashSha1,则通过仅对包含键的字节数组进行哈希处理并排除可辨别编码规则 (DER) 标记、长度和未使用的位字段来创建标识符。

如果此值为 SKIHashCapiSha1,则通过对包含标记、长度、未使用位数和公钥的 DER 编码字节数组进行哈希处理来创建标识符。

[in] Encoding

一个 EncodingType 枚举值,该值指定要应用于 pValue 参数中包含的哈希的 Unicode 编码的类型。 默认值为 XCN_CRYPT_STRING_BASE64。

[out] pValue

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

返回值

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

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

返回代码/值 说明
CERTSRV_E_PROPERTY_EMPTY
找不到算法对象标识符或公钥参数。

注解

在调用 ComputeKeyIdentifier 之前,必须调用 InitializeFromEncodedPublicKeyInfo 方法或 Initialize 方法来初始化公钥对象。

要求

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

另请参阅

IX509PublicKey