Метод IX509ExtensionBasicConstraints::InitializeEncode (certenroll.h)

Метод InitializeEncode инициализирует расширение из логического значения, указывающего, является ли субъект сертификата центром сертификации (ЦС) и целым числом, содержащим глубину цепочки подчиненных ЦС.

Синтаксис

HRESULT InitializeEncode(
  [in] VARIANT_BOOL IsCA,
  [in] LONG         PathLenConstraint
);

Параметры

[in] IsCA

Переменная VARIANT_BOOL , указывающая, является ли субъект сертификата ЦС.

[in] PathLenConstraint

Переменная LONG , содержащая максимальное количество сертификатов в цепочке.

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

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

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

Возвращаемый код/значение Описание
HRESULT_FROM_WIN32(ERROR_ALREADY_INITIALIZED)
Объект уже инициализирован.

Комментарии

Метод связывает коллекцию имен с идентификатором объекта (OID) XCN_OID_BASIC_CONSTRAINTS2 (2.5.29.19) и кодирует его с помощью Distinguished Encoding Rules (DER).

Перед использованием объекта IX509ExtensionBasicConstraints необходимо вызвать Метод InitializeEncode или InitializeDecode. Эти два метода дополняют друг друга. Метод InitializeEncode позволяет создать объект расширения Abstract Syntax Notation One (ASN.1) в кодировке DER из необработанных данных, а метод InitializeDecode позволяет инициализировать необработанные данные из закодированного объекта.

Для этого расширения можно получить следующие свойства:

  • Свойство Critical определяет, является ли расширение критическим. Это свойство также можно указать.
  • Свойство ObjectId извлекает OID.
  • Свойство IsCA определяет, может ли субъект сертификата быть центром сертификации.
  • Свойство PathLenConstraint определяет глубину цепочки подчиненных центров сертификации.

Требования

Требование Значение
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Целевая платформа Windows
Header certenroll.h
DLL CertEnroll.dll

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

IX509ExtensionBasicConstraints