Функция CertGetIntendedKeyUsage (wincrypt.h)
Функция CertGetIntendedKeyUsage получает предполагаемые байты использования ключа из сертификата. Предполагаемое использование ключа может осуществляться в расширении szOID_KEY_USAGE ("2.5.29.15") или szOID_KEY_ATTRIBUTES ("2.5.29.2").
Синтаксис
BOOL CertGetIntendedKeyUsage(
[in] DWORD dwCertEncodingType,
[in] PCERT_INFO pCertInfo,
[out] BYTE *pbKeyUsage,
[in] DWORD cbKeyUsage
);
Параметры
[in] dwCertEncodingType
Указывает используемый тип кодирования. Всегда допустимо указывать типы кодирования сертификатов и сообщений, объединяя их с побитовой операцией ИЛИ , как показано в следующем примере:
X509_ASN_ENCODING | PKCS_7_ASN_ENCODING в настоящее время определены следующие типы кодирования:
- X509_ASN_ENCODING
- PKCS_7_ASN_ENCODING
[in] pCertInfo
Указатель на CERT_INFO структуру указанного сертификата.
[out] pbKeyUsage
Указатель на буфер для получения предполагаемого использования ключа. В следующем списке показаны текущие значения. Их можно объединить с помощью побитовых операций ИЛИ .
- CERT_DATA_ENCIPHERMENT_KEY_USAGE
- CERT_DIGITAL_SIGNATURE_KEY_USAGE
- CERT_KEY_AGREEMENT_KEY_USAGE
- CERT_KEY_CERT_SIGN_KEY_USAGE
- CERT_KEY_ENCIPHERMENT_KEY_USAGE
- CERT_NON_REPUDIATION_KEY_USAGE
- CERT_OFFLINE_CRL_SIGN_KEY_USAGE
[in] cbKeyUsage
Размер (в байтах) буфера, на который указывает pbKeyUsage. В настоящее время предполагаемое использование ключа занимает 1 или 2 байта данных.
Возвращаемое значение
Если сертификат не содержит байтов использования ключа, возвращается значение FALSE , а pbKeyUsage обнуляется . В противном случае возвращается значение TRUE , а количество байтов cbKeyUsage копируется в pbKeyUsage. Все оставшиеся байты, не скопированные, обнуляются.
GetLastError возвращает ноль, если ни одно из необходимых расширений не найдено.
Если функция завершается сбоем, GetLastError может вернуть ошибку кодирования и декодирования абстрактной синтаксической нотации 1 (ASN.1). Сведения об этих ошибках см. в разделе Кодирование и декодирование возвращаемых значений ASN.1.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows Server 2003 [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | wincrypt.h |
Библиотека | Crypt32.lib |
DLL | Crypt32.dll |