Функция CertSetCRLContextProperty (wincrypt.h)
Функция CertSetCRLContextProperty задает расширенное свойство для указанного контекста списка отзыва сертификатов (CRL).
Синтаксис
BOOL CertSetCRLContextProperty(
[in] PCCRL_CONTEXT pCrlContext,
[in] DWORD dwPropId,
[in] DWORD dwFlags,
[in] const void *pvData
);
Параметры
[in] pCrlContext
Указатель на структуру CRL_CONTEXT .
[in] dwPropId
Определяет свойство, которое необходимо задать. Значение dwPropId определяет тип и содержимое параметра pvData . В следующей таблице перечислены текущие идентификаторы и тип данных, возвращаемых в pvData .
Обычно задаются только следующие свойства:
- CERT_HASH_PROP_ID
- CERT_SHA1_HASH_PROP_ID
- CERT_MD5_HASH_PROP_ID
- CERT_SIGNATURE_HASH_PROP_ID
Значение | Значение |
---|---|
|
Тип данных для 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: указатель на структуру CRYPT_DATA_BLOB .
Задает строку, содержащую набор алгоритмов открытого ключа И битовой длины L"<PUBKEY>/<BITLENGTH>". В качестве разделителя используется точка с запятой L";". Значение <PUBKEY> определяет алгоритм открытого ключа CNG. Поддерживаются следующие алгоритмы:
Примечание Это свойство не следует задавать для делегированного сертификата подписывателя OCSP. Делегированный сертификат подписывателя подписывается тем же ключом, который используется для подписывания сертификата субъекта, и проверяется там.
: L"RSA/2048; RSA/4096" |
|
Тип данных для pvData: указатель на структуру CRYPT_DATA_BLOB .
Задает строку, содержащую набор пар алгоритмов L"<SIGNATURE>/<HASH>". Точка с запятой L";" используется в качестве разделителя между парами. Это свойство задается только в том случае, если ответ OCSP преобразуется в список отзыва сертификатов. Для делегированного сертификата подписателя OCSP возвращается только пара алгоритмов для сертификата подписывателя. Для независимой цепочки сертификатов подписывающих OCSP для каждого сертификата в цепочке за исключением корневого сертификата возвращается пара алгоритмов. Значение <SIGNATURE> определяет алгоритм открытого ключа CNG. Поддерживаются следующие алгоритмы:
|
|
Тип данных для pvData: указатель на структуру CRYPT_DATA_BLOB .
Задает в битах длину открытого ключа в сертификате издателя списка отзыва сертификатов. Это свойство также применимо к OCSP, который был преобразован в список отзыва сертификатов. Это свойство явно задается функциями проверки отзыва. Windows 8 и Windows Server 2012: начинается поддержка этого свойства. |
|
Тип данных для pvData: указатель на CERT_KEY_CONTEXT
Задает структуру CERT_KEY_CONTEXT . |
|
Тип данных для pvData: указатель на массив BYTE |
|
Тип данных для 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 в CTL. |
|
Тип данных для pvData: указатель на массив BYTE . Задает строку с широкими символами в Юникоде со значением NULL, указывающую имя файла, содержащего закрытый ключ, связанный с открытым ключом сертификата. |
|
Тип данных для pvData: указатель на массив BYTE . Задает хэш SHA1. Хэш можно вычислить с помощью CryptHashCertificate. |
|
Тип данных pvData: указатель на структуру CRYPT_DATA_BLOB .
Задает строку L"<SIGNATURE>/<HASH>", представляющую подпись сертификата. Значение <SIGNATURE> определяет алгоритм открытого ключа CNG. Поддерживаются следующие алгоритмы:
Это свойство явно задается функциями проверки отзыва. Windows 8 и Windows Server 2012: начинается поддержка этого свойства. |
|
Тип данных для pvData: указатель на массив BYTE . Задает хэш подписи. Если хэш не существует, он вычисляется с помощью CryptHashToBeSigned. Длина хэша составляет 20 байт для SHA и 16 для MD5. |
Пользователь может определить дополнительные типы dwPropId , используя значения DWORD из CERT_FIRST_USER_PROP_ID в CERT_LAST_USER_PROP_ID. Для всех определяемых пользователем типов dwPropIdpvData указывает на закодированный CRYPT_DATA_BLOB.
Для всех остальных идентификаторов свойств pvData указывает на закодированную структуру CRYPT_DATA_BLOB .
[in] dwFlags
CERT_STORE_NO_CRYPT_RELEASE_FLAG можно задать для свойств dwPropId CERT_KEY_PROV_HANDLE_PROP_ID или CERT_KEY_CONTEXT_PROP_ID.
Если задано значение CERT_SET_PROPERTY_IGNORE_PERSIST_ERROR_FLAG, все ошибки записи поставщика игнорируются, а свойства кэшированного контекста всегда задаются.
Если задано CERT_SET_PROPERTY_INHIBIT_PERSIST_FLAG, все наборы свойств не сохраняются.
[in] pvData
Указатель на тип данных, который определяется значением, переданным в dwPropId.
Возвращаемое значение
Если функция выполняется успешно, возвращается значение TRUE.
Если функция завершается сбоем, возвращается значение FALSE. Чтобы получить дополнительные сведения об ошибке, вызовите Метод GetLastError. Ниже приведен один из возможных кодов ошибки.
Код возврата | Описание |
---|---|
|
Недопустимое свойство. Указанный идентификатор был больше 0x0000FFFF или для свойства CERT_KEY_CONTEXT_PROP_ID в структуре CERT_KEY_CONTEXT указан недопустимый член cbSize. |
Комментарии
Если свойство уже существует, его старое значение заменяется.
Примеры
Пример использования этой функции см. в разделе Пример программы C: получение и настройка свойств сертификата.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows Server 2003 [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | wincrypt.h |
Библиотека | Crypt32.lib |
DLL | Crypt32.dll |