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


Метод ICertAdmin::SetCertificateExtension (certadm.h)

Метод SetCertificateExtension добавляет новое расширение к сертификату , выданному в ответ на запрос сертификата. Этот метод был впервые определен интерфейсом ICertAdmin .

Для успешного выполнения этого метода запрос сертификата должен находиться в ожидании.

Синтаксис

HRESULT SetCertificateExtension(
  [in] const BSTR    strConfig,
  [in] LONG          RequestId,
  [in] const BSTR    strExtensionName,
  [in] LONG          Type,
  [in] LONG          Flags,
  [in] const VARIANT *pvarValue
);

Параметры

[in] strConfig

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

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

[in] RequestId

Указывает идентификатор запроса сертификата.

[in] strExtensionName

Указывает идентификатор объекта (OID) для задаемого расширения. Длина строки должна составлять не более 31 символов, отличных от NULL.

[in] Type

Указывает тип устанавливаемого расширения. Параметр Type должен соответствовать типу данных параметра pvarValue . Этот тип данных задается в поле vt структуры VARIANT .

Этот параметр может принимать одно из указанных ниже значений.

Значение Значение
PROPTYPE_LONG
Подписанные длинные данные
PROPTYPE_DATE
Дата и время
PROPTYPE_BINARY
Значение расширения задано как есть и при необходимости предполагается, что оно закодировано в ФОРМАТЕ ASN.1.
PROPTYPE_STRING
Значение расширения будет иметь значение ASN.1, закодированное в виде строки IA5, прежде чем оно будет помещено в новый сертификат.
Примечание Следует использовать PROPTYPE_STRING для значения расширения, состоящего из одного URL-адреса, только если вы хотите, чтобы URL-адрес автоматически кодировались как строка IA5. В противном случае закодируйте URL-адрес как строку IA5 самостоятельно и передайте закодированное значение как PROPTYPE_BINARY.
 

[in] Flags

Задает флаги для устанавливаемого расширения. Если флаг не устанавливается, используйте нулевое значение. Эти флаги можно объединить с побитовой операцией ИЛИ , а также с флагами частных расширений политики (высокие 8 битов поля EXTENSION_POLICY_MASK).

Примечание Если для параметра Flags задано значение EXTENSION_DISABLE_FLAG, расширение будет отключено в журнале сервера и не будет добавлено в сертификат.
 
Значение Значение
EXTENSION_CRITICAL_FLAG
Это критическое расширение.
EXTENSION_DISABLE_FLAG
Расширение не будет использоваться.

[in] pvarValue

Указывает значение, связанное с расширением.

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

VB

Если метод завершается успешно, метод возвращает S_OK.

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

Комментарии

В задачах администрирования используется DCOM. Код, вызывающий этот метод интерфейса, как определено в более ранней версии Certadm.h, будет выполняться на серверах под управлением Windows, если клиент и сервер работают под одной операционной системой Windows.

Требования

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

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

CCertAdmin

ICertAdmin

ICertAdmin2

ICertConfig