Функция CryptCreateKeyIdentifierFromCSP (wincrypt.h)
Эта функция преобразует PUBLICKEYSTRUC CSP в структуру CERT_PUBLIC_KEY_INFOX.509 и кодирует ее. Затем закодированная структура хэшируется с помощью алгоритма SHA1 для получения идентификатора ключа.
Синтаксис
BOOL CryptCreateKeyIdentifierFromCSP(
[in] DWORD dwCertEncodingType,
[in] LPCSTR pszPubKeyOID,
[in] const PUBLICKEYSTRUC *pPubKeyStruc,
[in] DWORD cbPubKeyStruc,
[in] DWORD dwFlags,
[in] void *pvReserved,
[out] BYTE *pbHash,
[in, out] DWORD *pcbHash
);
Параметры
[in] dwCertEncodingType
Указывает используемый тип кодирования. Всегда допустимо указывать типы кодирования сертификатов и сообщений, объединяя их с побитовой операцией ИЛИ , как показано в следующем примере:
X509_ASN_ENCODING | PKCS_7_ASN_ENCODING
В настоящее время определены следующие типы кодирования:
- X509_ASN_ENCODING
- PKCS_7_ASN_ENCODING
[in] pszPubKeyOID
Указатель на идентификатор объекта открытого ключа (OID). Значение, не равное NULL , переопределяет OID по умолчанию, полученный из элемента aiKeyAlg структуры, на которую указывает pPubKeyStruc. Чтобы использовать OID по умолчанию, задайте для параметра pszPubKeyOIDзначение NULL.
[in] pPubKeyStruc
Указатель на структуру PUBLICKEYSTRUC . В случае по умолчанию элемент aiKeyAlg структуры, на который указывает pPubKeyStruc , используется для поиска идентификатора открытого ключа. Если значение pszPubKeyOID не равно NULL, оно переопределяет значение по умолчанию.
[in] cbPubKeyStruc
Размер publicKEYSTRUC (в байтах).
[in] dwFlags
Зарезервировано для будущего использования и должно быть равно нулю.
[in] pvReserved
Зарезервировано для использования в будущем и должно иметь значение NULL.
[out] pbHash
Указатель на буфер для получения хэша открытого ключа и идентификатора ключа.
Чтобы получить размер этих сведений для целей выделения памяти, задайте для этого параметра значение NULL. Дополнительные сведения см. в разделе Извлечение данных неизвестной длины.
[in, out] pcbHash
Указатель на DWORD , указывающий размер (в байтах) буфера, на который указывает параметр pbHash . При возврате функции DWORD содержит количество байтов, хранящихся в буфере. При использовании хэширования SHA1 длина требуемого буфера составляет двадцать.
Возвращаемое значение
Если функция выполняется успешно, функция возвращает ненулевое значение (TRUE).
Если функция завершается сбоем, она возвращает ноль (FALSE). Чтобы получить дополнительные сведения об ошибке, вызовите Метод GetLastError.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | wincrypt.h |
Библиотека | Crypt32.lib |
DLL | Crypt32.dll |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по