Метод IX509PublicKey::ComputeKeyIdentifier (certenroll.h)
Метод ComputeKeyIdentifier создает идентификатор на основе 160-разрядного хэша SHA-1 открытого ключа.
Синтаксис
HRESULT ComputeKeyIdentifier(
[in] KeyIdentifierHashAlgorithm Algorithm,
[in] EncodingType Encoding,
[out] BSTR *pValue
);
Параметры
[in] Algorithm
Значение перечисления KeyIdentifierHashAlgorithm , указывающее, какой хэш-алгоритм будет использоваться для создания идентификатора ключа.
Если это значение — SKIHashDefault или SKIHashSha1, идентификатор создается путем хэширования только массива байтов, содержащего ключ, и исключения тега Distinguished Encoding Rules (DER), длины и неиспользуемых битовых полей.
Если это значение — SKIHashCapiSha1, идентификатор создается путем хэширования массива байтов в кодировке DER, содержащего тег, длину, количество неиспользуемых битов и открытый ключ.
[in] Encoding
Значение перечисления EncodingType , указывающее тип кодировки Юникода, применяемого к хэшу, содержатомуся в параметре pValue . Значение по умолчанию — XCN_CRYPT_STRING_BASE64.
[out] pValue
Указатель на переменную BSTR , содержащую идентификатор ключа.
Возвращаемое значение
Если функция выполнена успешно, функция возвращает S_OK.
Если функция завершается сбоем, она возвращает значение HRESULT , указывающее на ошибку. Допустимые значения включают, но не ограничиваются, значения, приведенные в следующей таблице. Список распространенных кодов ошибок см. в разделе Общие значения HRESULT.
Возвращаемый код или значение | Описание |
---|---|
|
Не удалось найти идентификатор объекта алгоритма или параметры открытого ключа. |
Комментарии
Перед вызовом ComputeKeyIdentifier необходимо вызвать метод InitializeFromEncodedPublicKeyInfo или Метод Initialize, чтобы инициализировать объект открытого ключа.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 [только классические приложения] |
Целевая платформа | Windows |
Header | certenroll.h |
DLL | CertEnroll.dll |