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


Метод ICertAdmin2::GetCAProperty (certadm.h)

Метод GetCAProperty извлекает значение свойства для центра сертификации (ЦС). Этот метод был впервые определен в интерфейсе ICertAdmin .

Синтаксис

HRESULT GetCAProperty(
  [in]  const BSTR strConfig,
  [in]  LONG       PropId,
  [in]  LONG       PropIndex,
  [in]  LONG       PropType,
  [in]  LONG       Flags,
  [out] VARIANT    *pvarPropertyValue
);

Параметры

[in] strConfig

Представляет допустимую строку конфигурации для ЦС в формате COMPUTERNAME\CANAME, где COMPUTERNAME — сетевое имя сервера служб сертификации, а CANAME — общее имя ЦС, указанное при настройке служб сертификации. Дополнительные сведения об имени строки конфигурации см. в разделе ICertConfig.

Важно!GetCAProperty не очищает внутренний кэш при изменении строки конфигурации. При изменении строки конфигурации для ЦС необходимо создать экземпляр нового объекта ICertAdmin и снова вызвать этот метод с новой строкой конфигурации.
 

[in] PropId

Указывает один из следующих идентификаторов свойств.

Значение Значение
CR_PROP_ADVANCEDSERVER
Тип данных свойства: Long

Указывает, работает ли В ЦС расширенный сервер.

CR_PROP_BASECRL
Тип данных свойства: Binary, indexed

Полный или базовый список отзыва сертификатов ЦС (CRL).

CR_PROP_BASECRLPUBLISHSTATUS
Тип данных свойства: Long, индексированные

Базовое состояние публикации списка отзыва сертификатов. Дополнительные сведения см. в разделе Комментарии.

CR_PROP_CABACKWARDCROSSCERT
Тип данных свойства: Binary, indexed

Обратный перекрестный сертификат. Обратный перекрестный сертификат — это сертификат, выданный при продлении из ЦС на себя, подписанный с помощью нового ключа ЦС. Обратный перекрестный сертификат имеет идентификатор ключа центра нового сертификата ЦС и идентификатор ключа субъекта старого сертификата ЦС.

Применяется только к корневым ЦС.

CR_PROP_CABACKWARDCROSSCERTSTATE
Тип данных свойства: Long, индексированные

Является ли обратный перекрестный сертификат допустимым. Допустимо только для корневых ЦС.

CR_PROP_CACERTSTATE
Тип данных свойства: Long

Состояние сертификата ЦС. Допустимые значения:

  • CA_DISP_REVOKED
  • CA_DISP_VALID
  • CA_DISP_INVALID
CR_PROP_CACERTSTATUSCODE
Тип данных свойства: Long, индексированные

Состояние сертификата ЦС как HRESULT.

CR_PROP_CACERTVERSION
Тип данных свойства: Long, индексированные

Версия сертификата ЦС в виде DWORD. Слово высокого порядка — это ключевой индекс, а слово низкого порядка — индекс сертификата ЦС.

CR_PROP_CAFORWARDCROSSCERT
Тип данных свойства: Binary, indexed

Перекрестный сертификат пересылки. Переадресация перекрестного сертификата — это сертификат, выданный после продления из ЦС на сам, подписанный предыдущим ключом ЦС. Перекрестный сертификат имеет идентификатор ключа центра предыдущего сертификата ЦС и идентификатор ключа субъекта нового сертификата ЦС.

Применяется только к корневым ЦС.

CR_PROP_CAFORWARDCROSSCERTSTATE
Тип данных свойства: Long, индексированные

Указывает, действителен ли перекрестный сертификат. Допустимо только для корневых ЦС.

CR_PROP_CANAME
Тип данных свойства: String

Имя ЦС.

CR_PROP_CASIGCERT
Тип данных свойства: Binary, indexed

Сертификат подписи ЦС.

CR_PROP_CASIGCERTCHAIN
Тип данных свойства: Binary, indexed

Цепочка сертификатов подписи ЦС.

CR_PROP_CASIGCERTCOUNT
Тип данных свойства: Long

Количество сертификатов подписи для ЦС.

CR_PROP_CASIGCERTCRLCHAIN
Тип данных свойства: Binary, indexed

Цепочка отзыва сертификатов для подписи ЦС.

CR_PROP_CATYPE
Тип данных свойства: Long

Тип ЦС. Это может быть одно из следующих значений (определенное в Certsrv.h):

  • ENUM_ENTERPRISE_ROOTCA
  • ENUM_ENTERPRISE_SUBCA
  • ENUM_STANDALONE_ROOTCA
  • ENUM_STANDALONE_SUBCA
CR_PROP_CAXCHGCERT
Тип данных свойства: Binary, indexed

Сертификат ЦС для обмена.

CR_PROP_CAXCHGCERTCHAIN
Тип данных свойства: Binary, indexed

Цепочка сертификатов обмена ЦС.

CR_PROP_CAXCHGCERTCOUNT
Тип данных свойства: Long

Количество сертификатов exchange для ЦС.

CR_PROP_CAXCHGCERTCRLCHAIN
Тип данных свойства: Binary, indexed

Цепочка сертификатов сертификатов exchange ЦС.

CR_PROP_CERTAIAURLS
Тип данных свойства: String, indexed

Указывает URL-адреса доступа к данным центра в качестве типа URL-адреса, запрашиваемого клиентом.

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

CR_PROP_CERTCDPURLS
Тип данных свойства: String, indexed

Указывает URL-адреса точек распространения списка отзыва сертификатов в качестве типа URL-адреса, запрашиваемого клиентом.

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

CR_PROP_CRLSTATE
Тип данных свойства: Long

Состояние списка отзыва сертификатов ЦС. Допустимые значения:

  • CA_DISP_REVOKED
  • CA_DISP_VALID
  • CA_DISP_INVALID
  • CA_DISP_ERROR
CR_PROP_DELTACRL
Тип данных свойства: Binary, indexed

Разностный список отзыва сертификатов ЦС.

CR_PROP_DELTACRLPUBLISHSTATUS
Тип данных свойства: Long, индексированные

Разностное состояние публикации списка отзыва сертификатов. Дополнительные сведения см. в разделе Комментарии.

CR_PROP_DNSNAME
Тип данных свойства: String

DNS-имя ЦС.

CR_PROP_EXITCOUNT
Тип данных свойства: Long

Количество модулей выхода, используемых ЦС.

CR_PROP_EXITDESCRIPTION
Тип данных свойства: String

Описание модуля выхода.

CR_PROP_FILEVERSION
Тип данных свойства: String

Версия файла служб сертификатов.

CR_PROP_KRACERT
Тип данных свойства: Binary, indexed

Сертификат агента восстановления ключей (KRA) ЦС.

CR_PROP_KRACERTCOUNT
Тип данных свойства: Long

Количество сертификатов KRA для ЦС.

CR_PROP_KRACERTSTATE
Тип данных свойства: Long, индексированные

Состояние сертификата KRA. Возвращается одно из следующих значений:

  • KRA_DISP_EXPIRED
  • KRA_DISP_NOTFOUND
  • KRA_DISP_REVOKED
  • KRA_DISP_VALID
  • KRA_DISP_UNTRUSTED
  • KRA_DISP_NOTLOADED
  • KRA_DISP_INVALID
CR_PROP_KRACERTUSEDCOUNT
Тип данных свойства: Long

Количество сертификатов KRA, используемых ЦС.

CR_PROP_PARENTCA
Тип данных свойства: String

Имя родительского ЦС ЦС.

CR_PROP_POLICYDESCRIPTION
Тип данных свойства: String

Описание модуля политики.

CR_PROP_PRODUCTVERSION
Тип данных свойства: String

Версия продукта, в которой был отправлен файл.

CR_PROP_ROLESEPARATIONENABLED
Тип данных свойства: Long

Значение, указывающее, включено ли разделение ролей.

CR_PROP_SANITIZEDCANAME
Тип данных свойства: String

Дезинфицированное имя ЦС. Определение дезинфицированного имени ЦС см. в разделе ICertConfig2::GetConfig.

CR_PROP_SANITIZEDCASHORTNAME
Тип данных свойства: String

Санизированное короткое имя ЦС. Определение короткого имени санированного ЦС см. в разделе ICertConfig2::GetConfig.

CR_PROP_SHAREDFOLDER
Тип данных свойства: String

Имя каталога общей папки.

CR_PROP_TEMPLATES
Тип данных свойства: String

Список шаблонов, поддерживаемых центром сертификации.

[in] PropIndex

Если параметр PropId индексируется, индекс отсчитывается от нуля, используемый при извлечении значения свойства. Если PropId не индексируется, это значение игнорируется.

[in] PropType

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

Значение Значение
PROPTYPE_LONG
Подписанные длинные данные
PROPTYPE_DATE
Дата и время (зарезервировано для использования в будущем)
PROPTYPE_BINARY
Двоичные данные
PROPTYPE_STRING
Строковые данные Юникода

[in] Flags

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

Значение Значение
CV_OUT_BASE64
BASE64 без BEGIN/END
CV_OUT_BASE64HEADER
BASE64 с BEGIN CERTIFICATE и END CERTIFICATE
CV_OUT_BASE64REQUESTHEADER
BASE64 с BEGIN NEW CERTIFICATE REQUEST и END NEW CERTIFICATE REQUEST
CV_OUT_BASE64X509CRLHEADER
BASE64 с BEGIN X509 CRL и END X509 CRL
CV_OUT_BINARY
Двоичные данные
CV_OUT_HEX
Шестнадцатеричная строка
CV_OUT_HEXADDR
Шестнадцатеричная строка с адресом или смещением
CV_OUT_HEXASCII
Шестнадцатеричная строка с ASCII
CV_OUT_HEXASCIIADDR
Шестнадцатеричная строка с ASCII и адресом/смещением

[out] pvarPropertyValue

Указатель на буфер, получающий запрошенное значение свойства. Вызывающий объект несет ответственность за освобождение этого ресурса, когда это делается путем вызова VariantClear.

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

C++

Возвращаемое значение — HRESULT. Значение S_OK указывает, что метод был успешным.

VB

Запрашиваемое значение свойства.

Комментарии

Следующие значения возвращаются, если идентификатор свойства CR_PROP_BASECRLPUBLISHSTATUS или CR_PROP_DELTACRLPUBLISHSTATUS. Эти значения можно объединять.

Значение Описание
CPF_BADURL_ERROR Недопустимый URL-адрес.
CPF_BASE Был опубликован базовый список отзыва сертификатов.
CPF_CASTORE_ERROR Ошибка хранилища ЦС предотвратила публикацию.
CPF_COMPLETE Опубликован полный список отзыва сертификатов.
CPF_DELTA Опубликован разностный список отзыва сертификатов.
CPF_FILE_ERROR Ошибка файла предотвратила публикацию.
CPF_FTP_ERROR Ошибка FTP предотвратила публикацию.
CPF_HTTP_ERROR Ошибка HTTP предотвратила публикацию.
CPF_LDAP_ERROR Ошибка LDAP предотвратила публикацию.
CPF_MANUAL Список отзыва сертификатов был опубликован вручную.
CPF_SHADOW Был опубликован пустой разностный список отзыва сертификатов, а также новый список отзыва сертификатов BASE.
CPF_SIGNATURE_ERROR Ошибка сигнатуры помешала публикации.
 

Пример получения списка отзыва сертификатов см. в разделе Получение списка отзыва сертификатов.

Примеры

В следующем примере показано получение сертификата подписи ЦС. В примере предполагается, что указатель интерфейса ICertAdmin2 является допустимым.

BSTR bstrCA = NULL;
VARIANT var1;
HRESULT hr;

bstrCA = SysAllocString(L"<COMPUTERNAMEHERE>\\<CANAMEHERE>");
if (NULL == bstrCA)
{
    printf("Failed to allocate memory for bstrCA\n");
    exit(1);
}

VariantInit(&var1);
// Retrieve the CA signature certificate at index 0.
hr = pAdmin2->GetCAProperty(bstrCA,
                                CR_PROP_CASIGCERT,
                                0,
                                PROPTYPE_BINARY,
                                CV_OUT_BASE64HEADER,
                                &var1);
if (FAILED(hr))
{
    printf("Failed GetCAProperty\n");
    SysFreeString(bstrCA);
    exit(1);  // Or other error action.
}

// Use the property as needed.
// ...

// Clear the variant when finished.
VariantClear(&var1);
SysFreeString(bstrCA);

Требования

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