Функция CertGetCRLContextProperty (wincrypt.h)
Функция CertGetCRLContextProperty получает расширенное свойство для указанного контекста списка отзыва сертификатов (CRL).
Синтаксис
BOOL CertGetCRLContextProperty(
[in] PCCRL_CONTEXT pCrlContext,
[in] DWORD dwPropId,
[out] void *pvData,
[in, out] DWORD *pcbData
);
Параметры
[in] pCrlContext
Указатель на структуру CRL_CONTEXT .
[in] dwPropId
Определяет извлекаемое свойство. В следующей таблице перечислены определенные в настоящее время идентификаторы и тип данных, возвращаемый в pvData .
Значение | Значение |
---|---|
|
Тип данных для pvData: указатель на DWORD
Возвращает значение DWORD , указывающее, сохраняются ли операции записи в сертификат. Значение DWORD не задано, если сертификат находится в хранилище памяти или в хранилище на основе реестра, открытое как доступное только для чтения. |
|
Тип данных для pvData: NULL
Указывает, что сертификат пропускается во время перечисления. Сертификат с этим набором свойств обнаруживается с помощью явных операций поиска, таких как те, которые используются для поиска сертификата с определенным хэшом или серийным номером. С этим свойством не связаны данные в pvData . |
|
Тип данных для pvData: указатель на массив BYTE . Возвращает строку Юникода, завершающуюся null, именующую тип сертификата, для которого сертификат был автоматически зарегистрирован. |
|
Тип данных для pvData: указатель на массив BYTE . Возвращает массив байтов, содержащий абстрактную синтаксическую нотацию 1 (ASN.1), закодированную CTL_USAGE структуре. |
|
Тип данных для pvData: указатель на массив BYTE . Возвращает свойство, отображаемое пользовательским интерфейсом сертификата. Это свойство позволяет пользователю описывать использование сертификата. |
|
Тип данных для pvData: Возвращает массив байтов, содержащий структуру ASN.1 , закодированную CERT_ENHKEY_USAGE . |
|
Тип данных для pvData: указатель на массив BYTE . Возвращает символьную строку Юникода, завершающуюся null, которая содержит отображаемое имя списка отзыва сертификатов. |
|
Тип данных для pvData: указатель на строку Юникода, завершаемую null.
Возвращает строку, содержащую набор алгоритма открытого ключа L"<PUBKEY>/<BITLENGTH>" и пар битовой длины. В качестве разделителя используется точка с запятой L";". Значение <PUBKEY> определяет алгоритм открытого ключа CNG. Поддерживаются следующие алгоритмы:
Примечание Это свойство невозможно получить для делегированного сертификата подписателя OCSP. Делегированный сертификат подписывателя подписывается тем же ключом, который используется для подписывания сертификата субъекта, и проверяется там.
: L"RSA/2048; RSA/4096" |
|
Тип данных для pvData: указатель на строку Юникода, завершаемую null.
Возвращает строку, содержащую набор пар алгоритмов L"<SIGNATURE>/<HASH>". Точка с запятой L";" используется в качестве разделителя между парами. Это свойство задается только в том случае, если ответ OCSP преобразуется в список отзыва сертификатов. Для делегированного сертификата подписывателя OCSP возвращается только пара алгоритмов для сертификата подписывателя. Для независимой цепочки сертификатов подписывающих OCSP для каждого сертификата в цепочке, за исключением корневого сертификата, возвращается пара алгоритмов. Значение <SIGNATURE> определяет алгоритм открытого ключа CNG. Поддерживаются следующие алгоритмы:
|
|
Тип данных для pvData: указатель на значение DWORD .
Возвращает длину (в битах) открытого ключа в сертификате издателя списка отзыва сертификатов. Это свойство также применимо к ответу OCSP, который был преобразован в список отзыва сертификатов. Windows 8 и Windows Server 2012: начинается поддержка этого свойства. |
|
Тип данных для pvData: указатель на CERT_KEY_CONTEXT
Возвращает структуру CERT_KEY_CONTEXT . |
|
Тип данных для pvData: указатель на массив BYTE . Если оно отсутствует, выполняет поиск расширения szOID_SUBJECT_KEY_IDENTIFIER. Если это не удается, хэш SHA1 выполняется для элемента SubjectPublicKeyInfo сертификата для создания значений идентификатора. |
|
Тип данных для pvData: указатель на HCRYPTPROV.
Возвращает дескриптор поставщика, полученный из CERT_KEY_CONTEXT_PROP_ID. |
|
Тип данных для pvData: указатель на CRYPT_KEY_PROV_INFO
Возвращает указатель на CRYPT_KEY_PROV_INFO. |
|
Тип данных для pvData: указатель на DWORD
Возвращает значение DWORD , указывающее закрытый ключ, полученный из свойства CERT_KEY_CONTEXT_PROP_ID, если он существует. В противном случае, если CERT_KEY_PROV_INFO_PROP_ID существует, он является источником dwKeySpec. |
|
Тип данных для pvData: указатель на массив BYTE . Возвращает хэш MD5. Если хэш не существует, он вычисляется с помощью CryptHashCertificate. |
|
Тип данных для pvData: указатель на массив BYTE . Возвращает структуру в кодировке ASN.1 CERT_ALT_NAME_INFO . CERT_NEXT_UPDATE_LOCATION_PROP_ID в настоящее время используется только с CCL. |
|
Тип данных для pvData: указатель на массив BYTE . Возвращает строку с широкими символами в Юникоде со значением NULL, указывающую имя файла, содержащего закрытый ключ, связанный с открытым ключом сертификата. |
|
Тип данных для pvData: указатель на массив BYTE . Возвращает хэш SHA1. Если хэш не существует, он вычисляется с помощью CryptHashCertificate. |
|
Тип данных pvData: указатель на строку Юникода, завершаемую null.
Возвращает строку L"<SIGNATURE>/<HASH>", представляющую подпись сертификата. Значение <SIGNATURE> определяет алгоритм открытого ключа CNG. Поддерживаются следующие алгоритмы:
Windows 8 и Windows Server 2012: начинается поддержка этого свойства. |
|
Тип данных для pvData: указатель на массив BYTE . Возвращает хэш подписи. Если хэш не существует, он вычисляется с помощью CryptHashToBeSigned. Длина хэша составляет 20 байт для SHA и 16 для MD5. |
Для многих идентификаторов свойств pvData указывает на массив байтов, а не на CRYPT_DATA_BLOB , как указывает параметр pvData в CertSetCRLContextProperty.
Дополнительные сведения о каждом идентификаторе свойства см. в документации по параметру dwPropId в разделе CertSetCertificateContextProperty.
[out] pvData
Указатель на буфер для получения данных в соответствии с dwPropId. Структуры, на которые указывают члены возвращаемой структуры, также возвращаются после базовой структуры. Поэтому размер, содержащийся в pcbData, часто превышает размер базовой структуры.
Этот параметр может иметь значение NULL , чтобы задать размер сведений для целей выделения памяти. Дополнительные сведения см. в разделе Извлечение данных неизвестной длины.
[in, out] pcbData
Указатель на значение DWORD , указывающее размер (в байтах) буфера, на который указывает параметр pvData . Когда функция возвращает значение DWORD , содержит количество байтов, которые будут храниться в буфере.
Возвращаемое значение
Если функция выполняется успешно, возвращается значение TRUE.
Если функция завершается сбоем, возвращается значение FALSE.
Обратите внимание, что ошибки из вызываемой функции CryptHashCertificate можно распространить на эту функцию. Чтобы получить дополнительные сведения об ошибке, вызовите Метод GetLastError. Ниже приведены некоторые возможные коды ошибок.
Код возврата | Описание |
---|---|
|
Список отзыва сертификатов не имеет указанного свойства. |
|
Если буфер, заданный параметром pvData , недостаточно велик для хранения возвращаемых данных, функция задает код ERROR_MORE_DATA и сохраняет требуемый размер буфера в байтах в переменной, на которую указывает pcbData. |
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows Server 2003 [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | wincrypt.h |
Библиотека | Crypt32.lib |
DLL | Crypt32.dll |