Метод ICertServerPolicy::GetCertificateProperty (certif.h)
Метод GetCertificateProperty возвращает именованное свойство из сертификата.
Перед использованием этого метода необходимо вызвать метод ICertServerPolicy::SetContext .
Синтаксис
HRESULT GetCertificateProperty(
[in] const BSTR strPropertyName,
[in] LONG PropertyType,
[out] VARIANT *pvarPropertyValue
);
Параметры
[in] strPropertyName
Задает извлекаемое именованное свойство. Существует стандартный набор свойств сертификата, называемых свойствами имени, которые всегда действительны и могут быть получены путем вызова этого метода. Дополнительные сведения об этих свойствах см. в разделе Свойства имени. Также можно получить другие свойства, кроме свойств имени.
Свойства DistinguishedName и RawName сертификата доступны ICertServerExit::GetCertificateProperty только после того, как модуль политики завершит обработку запроса и будет выдан сертификат. Свойства DistinguishedName и RawName выданного сертификата также могут быть прочитаны модулем выхода с помощью ICertServerExit::GetCertificateProperty.
GetCertificateProperty не может получить доступ к дополнительным свойствам сертификата. Эти свойства не задаются до тех пор, пока модуль политики не вернет VR_INSTANT_OK и не будет выдан сертификат. Полный список всех свойств выданного сертификата см. в разделе GetCertificateProperty.
Следующие свойства являются уникальными для сертификатов и могут быть прочитаны с помощью GetCertificateProperty.
Свойство Certificate | Значение |
---|---|
|
Идентификатор внутреннего запроса |
|
Дата начала действия сертификата |
|
Дата окончания срока действия сертификата |
|
Ключ субъекта |
|
Идентификатор объекта алгоритма ключа субъекта (OID) |
|
Параметры алгоритма ключа субъекта |
|
GeneralFlags в запросе на регистрацию. Это побитовое ИЛИ значений. Единственным интересующим значением должно быть значение флага 0x00000400, которое указывает ЦС не сохранять запрос в базе данных. Если ЦС находится в режиме без базы данных (то есть для ЦС Windows Server 2008 R2 и более поздних версий в базе данных ЦС установлен флаг DBFLAGS_ENABLEVOLATILEREQUESTS ), используйте certutil -getreg DbFlags и certutil -setreg DBFlags для настройки ЦС в режиме без базы данных.
Windows Vista и Windows Storage Server 2003: Это поле не поддерживается. |
|
Для запросов на продление возвращает имя учетной записи инициатора запроса (например, contoso\requester). |
Следующие свойства применяются к центру сертификации.
Свойство ЦС | Значение |
---|---|
|
Тип центра сертификации. Это может быть одно из следующих значений (определенное в Certsrv.h):
|
|
Количество сертификатов ЦС. Это значение будет равно 1 плюс количество продлений ЦС. Сведения о продлении см. в разделе Сертификация. |
|
Состояние сертификата ЦС. Может иметь одно из следующих значений:
|
|
Суффикс сертификата ЦС. Суффикс — это пустая строка для сертификатов ЦС с нулевым индексом; В противном случае суффикс (в форме "(nn)", где nn — индекс сертификата) применяется ко всем URL-адресам, указывающим на сертификаты ЦС, хранящиеся в файлах или объектах службы каталогов. Для URL-адресов, не относящихся к LDAP , суффикс обычно отображается перед текстом .crt. Для URL-адресов LDAP суффикс обычно добавляется к первому значению "CN=" в полном различаемом имени.
Это имя свойства может быть добавлено с помощью ".#", где # представляет индекс сертификата ЦС (или, в случае свойства CRLSuffix, индекс списка отзыва сертификатов). Сведения об индексах сертификатов и списков отзыва сертификатов см. в разделе Обновление центра сертификации. |
|
Индекс списка отзыва сертификатов (CRL). Добавление индекса сертификата к этому имени свойства позволяет получить индекс списка отзыва сертификатов. Индекс списка отзыва сертификатов не обязательно соответствует индексу сертификата. Дополнительные сведения см. в разделе Сертификация.
Это имя свойства может быть добавлено с помощью ".#", где # представляет индекс сертификата ЦС (или, в случае свойства CRLSuffix, индекс списка отзыва сертификатов). Сведения об индексах сертификатов и списков отзыва сертификатов см. в разделе Обновление центра сертификации. |
|
Состояние списка отзыва сертификатов. Может иметь одно из следующих значений:
|
|
Суффикс для списка отзыва сертификатов ЦС. Суффикс — это пустая строка для списков отзыва сертификатов с нулевым индексом; В противном случае суффикс (в виде "(nn)", где nn — индекс списка отзыва сертификатов) применяется ко всем URL-адресам, указывающим на списки отзыва сертификатов, хранящиеся в файлах или объектах службы каталогов. Для URL-адресов, отличных от LDAP, суффикс обычно отображается перед текстом CRL. Для URL-адресов LDAP суффикс обычно добавляется к первому cn=в полном различаемом имени.
Это имя свойства может быть добавлено с помощью ".#", где # представляет индекс сертификата ЦС (или, в случае свойства CRLSuffix, индекс списка отзыва сертификатов). Сведения об индексах сертификатов и списков отзыва сертификатов см. в разделе Обновление центра сертификации. |
|
Указывает, использует ли ЦС службу каталогов. Это может быть одно из следующих значений:
|
|
DNS-имя сервера, на котором размещен ЦС. |
|
Расположение реестра, доступное для использования модулем. |
|
Сертификат ЦС.
Это имя свойства может быть добавлено с помощью ".#", где # представляет индекс сертификата ЦС (или, в случае свойства CRLSuffix, индекс списка отзыва сертификатов). Сведения об индексах сертификатов и списков отзыва сертификатов см. в разделе Обновление центра сертификации. |
|
Список отзыва сертификатов (CRL) ЦС.
Это имя свойства может быть добавлено с помощью ".#", где # представляет индекс сертификата ЦС (или, в случае свойства CRLSuffix, индекс списка отзыва сертификатов). Сведения об индексах сертификатов и списков отзыва сертификатов см. в разделе Обновление центра сертификации. |
|
Указывает, авторизован ли инициатор запроса на запрос сертификата. Это может быть одно из следующих значений:
|
|
Дезинфицизированное имя ЦС. Сведения о дезинфицированных именах ЦС см. в разделе ICertConfig::GetConfig. |
|
Санизированное имя ЦС, которое сокращено и содержит хэш-значение для обеспечения уникальности. |
[in] PropertyType
Указывает тип свойства. Тип может иметь одно из следующих значений.
Тип | Значение |
---|---|
|
Подписанные длинные данные |
|
Дата и время |
|
Двоичные данные |
|
Строковые данные Юникода |
[out] pvarPropertyValue
Указатель на VARIANT , который будет содержать значение свойства.
Возвращаемое значение
Если метод завершается успешно, метод возвращает S_OK, а параметру *pvarPropertyValue присваивается значение VARIANT , содержащее запрошенное значение свойства.
Если метод завершается сбоем, он возвращает значение HRESULT , указывающее на ошибку. Список распространенных кодов ошибок см. в разделе Общие значения HRESULT.
Требования
Минимальная версия клиента | Ни одна версия не поддерживается |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | certif.h (включая Certsrv.h) |
Библиотека | Certidl.lib |
DLL | Certcli.dll |