Метод IX509CertificateRequest::Initialize (certenroll.h)

Метод Initialize инициализирует объект запроса для пользователя или компьютера.

Синтаксис

HRESULT Initialize(
  [in] X509CertificateEnrollmentContext Context
);

Параметры

[in] Context

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

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

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

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

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

Код возврата Описание
HRESULT_FROM_WIN32(ERROR_ALREADY_INITIALIZED)
Объект уже инициализирован.

Комментарии

Метод Initialize инициализирует различные объекты в зависимости от типа создаваемого запроса на сертификат. При вызове этого метода из объекта IX509CertificateRequestPkcs10 создается объект закрытого ключа и инициализируются следующие объекты:

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

При вызове этого метода из объекта IX509CertificateRequestCmc создается внутренний запрос PKCS #10, как описано выше, и инициализируются следующие объекты:

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

При вызове этого метода из объекта IX509CertificateRequestPkcs7 создается внутренний запрос PKCS #10, как описано выше.

Перед вызовом этого метода можно вызвать следующие свойства.

Чтобы указать коллекцию ICspInformations, необходимо вызвать свойство CSPInformations перед вызовом этого метода.

Требования

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

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

IX509CertificateRequest

IX509CertificateRequestCertificate

IX509CertificateRequestCmc

IX509CertificateRequestPkcs10

IX509CertificateRequestPkcs7

IX509SignatureInformation