Поделиться через


Метод 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 Значение
RequestID
Длинная подпись
Идентификатор внутреннего запроса
NotBefore
Дата и время
Дата начала действия сертификата
NotAfter
Дата и время
Дата окончания срока действия сертификата
RawPublicKey
Двоичные данные
Ключ субъекта
PublicKeyAlgorithm
Строка
Идентификатор объекта алгоритма ключа субъекта (OID)
RawPublicKeyAlgorithmParameters
Двоичные данные
Параметры алгоритма ключа субъекта
Общие флаги
PROPTYPE_LONG
GeneralFlags в запросе на регистрацию. Это побитовое ИЛИ значений. Единственным интересующим значением должно быть значение флага 0x00000400, которое указывает ЦС не сохранять запрос в базе данных. Если ЦС находится в режиме без базы данных (то есть для ЦС Windows Server 2008 R2 и более поздних версий в базе данных ЦС установлен флаг DBFLAGS_ENABLEVOLATILEREQUESTS ), используйте certutil -getreg DbFlags и certutil -setreg DBFlags для настройки ЦС в режиме без базы данных.

Windows Vista и Windows Storage Server 2003: Это поле не поддерживается.

RequesterNameFromOldCertificate
PROPTYPE_STRING
Для запросов на продление возвращает имя учетной записи инициатора запроса (например, contoso\requester).
 

Следующие свойства применяются к центру сертификации.

Свойство ЦС Значение
CAType
Long
Тип центра сертификации. Это может быть одно из следующих значений (определенное в Certsrv.h):
  • ENUM_ENTERPRISE_ROOTCA
  • ENUM_ENTERPRISE_SUBCA
  • ENUM_STANDALONE_ROOTCA
  • ENUM_STANDALONE_SUBCA
CertCount
Long
Количество сертификатов ЦС. Это значение будет равно 1 плюс количество продлений ЦС. Сведения о продлении см. в разделе Сертификация.
CertState
Long
Состояние сертификата ЦС. Может иметь одно из следующих значений:
  • CA_DISP_ERROR: сертификат ЦС никогда не выдавался.
  • CA_DISP_REVOKED: сертификат ЦС был отозван.
  • CA_DISP_VALID: сертификат ЦС по-прежнему действителен.
  • CA_DISP_INVALID: срок действия сертификата ЦС истек.
Это имя свойства может быть добавлено с помощью ".#", где # представляет индекс сертификата ЦС (или, в случае свойства CRLSuffix, индекс списка отзыва сертификатов). Сведения об индексах сертификатов и списков отзыва сертификатов см. в разделе Обновление центра сертификации.
CertSuffix
Строка
Суффикс сертификата ЦС. Суффикс — это пустая строка для сертификатов ЦС с нулевым индексом; В противном случае суффикс (в форме "(nn)", где nn — индекс сертификата) применяется ко всем URL-адресам, указывающим на сертификаты ЦС, хранящиеся в файлах или объектах службы каталогов. Для URL-адресов, не относящихся к LDAP , суффикс обычно отображается перед текстом .crt. Для URL-адресов LDAP суффикс обычно добавляется к первому значению "CN=" в полном различаемом имени.

Это имя свойства может быть добавлено с помощью ".#", где # представляет индекс сертификата ЦС (или, в случае свойства CRLSuffix, индекс списка отзыва сертификатов). Сведения об индексах сертификатов и списков отзыва сертификатов см. в разделе Обновление центра сертификации.

CRLIndex
Long
Индекс списка отзыва сертификатов (CRL). Добавление индекса сертификата к этому имени свойства позволяет получить индекс списка отзыва сертификатов. Индекс списка отзыва сертификатов не обязательно соответствует индексу сертификата. Дополнительные сведения см. в разделе Сертификация.

Это имя свойства может быть добавлено с помощью ".#", где # представляет индекс сертификата ЦС (или, в случае свойства CRLSuffix, индекс списка отзыва сертификатов). Сведения об индексах сертификатов и списков отзыва сертификатов см. в разделе Обновление центра сертификации.

CRLState
Long
Состояние списка отзыва сертификатов. Может иметь одно из следующих значений:
  • CA_DISP_ERROR. Список отзыва сертификатов управляется другим сертификатом ЦС.
  • CA_DISP_REVOKED. Все неподтверженные сертификаты ЦС, использующие CRL этого сертификата ЦС, были отозваны.
  • CA_DISP_VALID. Сертификат ЦС по-прежнему используется для публикации списков отзыва сертификатов по мере необходимости.
  • CA_DISP_INVALID. Срок действия всех сертификатов ЦС, использующих список отзыва сертификатов этого сертификата ЦС, истек.
Это имя свойства может быть добавлено с помощью ".#", где # представляет индекс сертификата ЦС (или, в случае свойства CRLSuffix, индекс списка отзыва сертификатов). Сведения об индексах сертификатов и списков отзыва сертификатов см. в разделе Обновление центра сертификации.
CRLSuffix
Строка
Суффикс для списка отзыва сертификатов ЦС. Суффикс — это пустая строка для списков отзыва сертификатов с нулевым индексом; В противном случае суффикс (в виде "(nn)", где nn — индекс списка отзыва сертификатов) применяется ко всем URL-адресам, указывающим на списки отзыва сертификатов, хранящиеся в файлах или объектах службы каталогов. Для URL-адресов, отличных от LDAP, суффикс обычно отображается перед текстом CRL. Для URL-адресов LDAP суффикс обычно добавляется к первому cn=в полном различаемом имени.

Это имя свойства может быть добавлено с помощью ".#", где # представляет индекс сертификата ЦС (или, в случае свойства CRLSuffix, индекс списка отзыва сертификатов). Сведения об индексах сертификатов и списков отзыва сертификатов см. в разделе Обновление центра сертификации.

fUseDS
Long
Указывает, использует ли ЦС службу каталогов. Это может быть одно из следующих значений:
  • 0 = нет
  • 1 = да
MachineDNSName
Строка
DNS-имя сервера, на котором размещен ЦС.
ModuleRegistryLocation
Строка
Расположение реестра, доступное для использования модулем.
RawCACertificate
Двоичные данные
Сертификат ЦС.

Это имя свойства может быть добавлено с помощью ".#", где # представляет индекс сертификата ЦС (или, в случае свойства CRLSuffix, индекс списка отзыва сертификатов). Сведения об индексах сертификатов и списков отзыва сертификатов см. в разделе Обновление центра сертификации.

RawCRL
Двоичные данные
Список отзыва сертификатов (CRL) ЦС.

Это имя свойства может быть добавлено с помощью ".#", где # представляет индекс сертификата ЦС (или, в случае свойства CRLSuffix, индекс списка отзыва сертификатов). Сведения об индексах сертификатов и списков отзыва сертификатов см. в разделе Обновление центра сертификации.

RequesterCAAccess
Long
Указывает, авторизован ли инициатор запроса на запрос сертификата. Это может быть одно из следующих значений:
  • 0 = нет
  • 1 = да
(Оснастку MMC центра сертификации можно использовать для управления разрешениями на запрос сертификата .)
SanitizedCAName
Строка
Дезинфицизированное имя ЦС. Сведения о дезинфицированных именах ЦС см. в разделе ICertConfig::GetConfig.
SanitizedShortName
Строка
Санизированное имя ЦС, которое сокращено и содержит хэш-значение для обеспечения уникальности.

[in] PropertyType

Указывает тип свойства. Тип может иметь одно из следующих значений.

Тип Значение
PROPTYPE_LONG
Подписанные длинные данные
PROPTYPE_DATE
Дата и время
PROPTYPE_BINARY
Двоичные данные
PROPTYPE_STRING
Строковые данные Юникода

[out] pvarPropertyValue

Указатель на VARIANT , который будет содержать значение свойства.

Возвращаемое значение

Если метод завершается успешно, метод возвращает S_OK, а параметру *pvarPropertyValue присваивается значение VARIANT , содержащее запрошенное значение свойства.

Если метод завершается сбоем, он возвращает значение HRESULT , указывающее на ошибку. Список распространенных кодов ошибок см. в разделе Общие значения HRESULT.

Требования

   
Минимальная версия клиента Ни одна версия не поддерживается
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header certif.h (включая Certsrv.h)
Библиотека Certidl.lib
DLL Certcli.dll

См. также раздел

ICertServerPolicy

ICertServerPolicy::SetContext

Свойства имени