Метод IX509CertificateRequestCmc2::InitializeFromInnerRequestTemplate (certenroll.h)

Метод InitializeFromInnerRequestTemplate инициализирует запрос сертификата из внутреннего объекта запроса и шаблона.

Синтаксис

HRESULT InitializeFromInnerRequestTemplate(
  [in] IX509CertificateRequest     *pInnerRequest,
  [in] IX509EnrollmentPolicyServer *pPolicyServer,
  [in] IX509CertificateTemplate    *pTemplate
);

Параметры

[in] pInnerRequest

Указатель на интерфейс IX509CertificateRequest , представляющий объект внутреннего запроса. Это может быть запрос PKCS #10 или CMC.

[in] pPolicyServer

Указатель на объект IX509EnrollmentPolicyServer , представляющий сервер политики регистрации сертификатов (CEP), содержащий шаблон, заданный параметром pTemplate .

[in] pTemplate

Указатель на объект IX509CertificateTemplate , представляющий шаблон, используемый во время инициализации.

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

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

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

Возврат кода или значения Description
CRYPT_E_INVALID_MSG_TYPE
Объект запроса, переданный параметру pInnerRequest , должен быть PKCS #10 или запрос CMC.
E_POINTER
Параметры pInnerRequest, pPolicyServer и pTemplate не могут иметь значение NULL.
HRESULT_FROM_WIN32(ERROR_ALREADY_INITIALIZED)
Объект запроса уже инициализирован.

Замечания

Указав шаблон, можно добавить сведения во внешний объект запроса, который не может содержаться во внутреннем запросе. Например, если внутренний запрос не содержит необходимых расширений, можно указать шаблон, который делает.

Метод InitializeFromInnerRequestTemplate :

  • Создает пустую коллекцию ICryptAttributes .
  • Создает пустую коллекцию IX509NameValuePairs .
  • Создает пустую коллекцию IX509Extensions .
  • Создает коллекцию IObjectIds для критически важных расширений и добавляет идентификаторы объектов XCN_OID_KEY_USAGE и XCN_OID_BASIC_CONSTRAINTS2 (OID).
  • Создает пустую коллекцию идентификаторов IObjectIds для подавления из объекта запроса.
  • Создает пустую коллекцию ISignerCertificates .
  • Извлекает флаги закрытого ключа из шаблона.
  • Задает свойство ArchivePrivateKey , если требуется флагами или параметрами шаблона.
  • Извлекает алгоритм шифрования из шаблона, если он указан и задает свойство EncryptionAlgorithm .
  • Если это возможно, задает свойство EncryptionStrength .

Требования

Требование Ценность
Минимальный поддерживаемый клиент Windows 7 [только настольные приложения]
минимальный поддерживаемый сервер Windows Server 2008 R2 [только классические приложения]
целевая платформа Виндоус
Header certenroll.h

См. также

IX509CertificateRequestCmc2