ComputeKeyIdentifier 方法从公钥的 160 位 SHA-1 哈希创建标识符。
Syntax
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 值。
| 返回代码/值 | Description |
|---|---|
|
找不到算法对象标识符或公钥参数。 |
注解
必须在调用 ComputeKeyIdentifier 之前调用 InitializeFromEncodedPublicKeyInfo 方法或 Initialize 方法来初始化公钥对象。
要求
| Requirement | 价值 |
|---|---|
| 最低支持的客户端 | Windows Vista [仅限桌面应用] |
| 支持的最低服务器 | Windows Server 2008 [仅限桌面应用] |
| 目标平台 | Windows操作系统 |
| Header | certenroll.h |
| DLL | CertEnroll.dll |