Compartir a través de


IX509CertificateRequestCmc2::InitializeFromInnerRequestTemplate (certenroll.h)

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

Sintaxis

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 realiza 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 los que se indican en la tabla siguiente, entre otros. Para obtener una lista de códigos de error comunes, consulte Valores HRESULT comunes.

Código o valor devuelto Descripción
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.

Comentarios

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 por 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

Requisito Value
Cliente mínimo compatible Windows 7 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 R2 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado certenroll.h

Consulte también

IX509CertificateRequestCmc2