Метод IX509CertificateRequestPkcs10::InitializeFromTemplateName (certenroll.h)

Метод InitializeFromTemplateName инициализирует запрос сертификата с помощью шаблона.

Синтаксис

HRESULT InitializeFromTemplateName(
  [in] X509CertificateEnrollmentContext Context,
  [in] BSTR                             strTemplateName
);

Параметры

[in] Context

Значение перечисления X509CertificateEnrollmentContext , указывающее, предназначен ли запрошенный сертификат для конечного пользователя, компьютера или администратора, действующего от имени компьютера.

[in] strTemplateName

Переменная BSTR , содержащая общее имя (CN) шаблона в том виде, в котором оно отображается в Active Directory, или идентификатор десятичного объекта с точками.

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

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

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

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

Комментарии

Метод InitializeFromTemplateName создает следующие коллекции:

  • Коллекция ICryptAttributes .
  • Коллекция IX509Extensions .
  • Коллекция IObjectIds , заполненная идентификаторами объектов по умолчанию XCN_OID_KEY_USAGE и XCN_OID_BASIC_CONSTRAINTS2.
  • Пустая коллекция IObjectIds для идентификаторов атрибутов и расширений, которые будут подавляться из нового запроса.

Затем метод проверяет шаблон и выполняет следующие действия:

  • Добавляет расширения, указанные в шаблоне, в коллекцию IX509Extensions .
  • Удаляет критические расширения по умолчанию (XCN_OID_KEY_USAGE и XCN_OID_BASIC_CONSTRAINTS2) из коллекции, если шаблон указывает, что они не являются критическими. Добавляются идентификаторы OID, помеченные шаблоном как критические.
  • Задает свойство SmimeCapabilities, если шаблон поддерживает симметричные алгоритмы.
  • Задает свойство AlternateSignatureAlgorithm, если шаблону требуется идентификатор OID алгоритма дискретной сигнатуры.
  • Создает объект IX509SignatureInformation .
  • Создает OID хэш-алгоритма, если алгоритм указан в шаблоне, и задает его для объекта IX509SignatureInformation .
  • Создает OID алгоритма асимметричного шифрования, если алгоритм указан в шаблоне, и задает его для объекта IX509SignatureInformation .
  • Задает следующие свойства IX509PrivateKey из параметров шаблона:

Если свойство CSPInformations имеет значение NULL, метод создает коллекцию ICspInformations из поставщиков, установленных на компьютере.

Требования

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

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

IX509CertificateRequestPkcs10