Compartir a través de


IX509CertificateRequestCmc2::InitializeFromInnerRequestTemplate (certenroll.h)

El método InitializeFromInnerRequestTemplate inicializa la solicitud de certificado desde un objeto de solicitud interno y una plantilla.

Syntax

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

Parámetros

[in] pInnerRequest

Puntero a una interfaz IX509CertificateRequest que representa el objeto de solicitud interno. Puede ser una solicitud PKCS #10 o CMC.

[in] pPolicyServer

Puntero a un objeto IX509EnrollmentPolicyServer que representa el servidor de directiva de inscripción de certificados (CEP) que contiene la plantilla especificada por el parámetro pTemplate .

[in] pTemplate

Puntero a un objeto IX509CertificateTemplate que representa la plantilla que se va a usar durante la inicialización.

Valor devuelto

Si la función se ejecuta correctamente, la función devuelve S_OK.

Si se produce un error en la función, devuelve un valor HRESULT que indica el error. Entre los valores posibles se incluyen, entre otros, los de la tabla siguiente. Para obtener una lista de códigos de error comunes, consulte Valores HRESULT comunes.

Código y valor devueltos Description
CRYPT_E_INVALID_MSG_TYPE
El objeto de solicitud pasado al parámetro pInnerRequest debe ser una solicitud PKCS #10 o CMC.
E_POINTER
Los parámetros pInnerRequest, pPolicyServer y pTemplate no pueden ser NULL.
HRESULT_FROM_WIN32(ERROR_ALREADY_INITIALIZED)
El objeto de solicitud ya se ha inicializado.

Observaciones

Al especificar una plantilla, puede agregar información al objeto de solicitud externa que puede no estar contenido en la solicitud interna. Por ejemplo, si la solicitud interna no contiene las extensiones necesarias, puede proporcionar una plantilla que sí lo haga.

El método InitializeFromInnerRequestTemplate :

  • Crea una colección ICryptAttributes vacía.
  • Crea una colección IX509NameValuePairs vacía.
  • Crea una colección IX509Extensions vacía.
  • Crea una colección IObjectIds para extensiones críticas y agrega los identificadores de objeto (OID) de XCN_OID_KEY_USAGE y XCN_OID_BASIC_CONSTRAINTS2.
  • Crea una colección IObjectIds vacía de OID que se suprimirá del objeto de solicitud.
  • Crea una colección ISignerCertificates vacía.
  • Recupera marcas de clave privada de la plantilla.
  • Establece la propiedad ArchivePrivateKey si es necesario para las marcas de plantilla o la configuración.
  • Recupera el algoritmo de cifrado de la plantilla si se especifica uno y establece la propiedad EncryptionAlgorithm .
  • Establece la propiedad EncryptionStrength si es posible.

Requisitos

Requirement Importancia
Cliente mínimo compatible Windows 7 [solo aplicaciones de escritorio]
Servidor mínimo admitido Windows Server 2008 R2 [solo aplicaciones de escritorio]
de la plataforma de destino de Windows
Header certenroll.h

Consulte también

IX509CertificateRequestCmc2