共用方式為


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 值

傳回碼/值 Description
CERTSRV_E_PROPERTY_EMPTY
找不到演算法物件識別碼或公鑰參數。

備註

您必須先呼叫 InitializeFromEncodedPublicKeyInfo 方法或 Initialize 方法,才能呼叫 ComputeKeyIdentifier 來初始化公鑰物件。

規格需求

需求
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 [僅限傳統型應用程式]
目標平台 Windows
標頭 certenroll.h
Dll CertEnroll.dll

另請參閱

IX509PublicKey