IX509CertificateRequestCmc2::InitializeFromTemplate (certenroll.h)
El método InitializeFromTemplate inicializa la solicitud de certificado mediante una plantilla.
Sintaxis
HRESULT InitializeFromTemplate(
[in] X509CertificateEnrollmentContext context,
[in] IX509EnrollmentPolicyServer *pPolicyServer,
[in] IX509CertificateTemplate *pTemplate
);
Parámetros
[in] context
Valor del tipo de enumeración X509CertificateEnrollmentContext que especifica si el certificado solicitado está pensado para un usuario final, un equipo o un administrador que actúa en nombre del equipo. Puede ser uno de los siguientes valores.
[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 devuelto | Descripción |
---|---|
|
Los parámetros pPolicyServer y pTemplate no pueden ser NULL. |
|
El objeto de solicitud de certificado ya se ha inicializado. |
Comentarios
El método InitializeFromTemplate crea las colecciones siguientes:
- Colección ICryptAttributes .
- Colección IX509Extensions .
- Colección IObjectIds rellenada con el XCN_OID_KEY_USAGE predeterminado y XCN_OID_BASIC_CONSTRAINTS2 identificadores de objeto.
- Colección IObjectIds vacía para los OID de atributo y extensión que se van a suprimir de la nueva solicitud.
A continuación, el método examina la plantilla y realiza las siguientes acciones:
- Agrega las extensiones especificadas por la plantilla a la colección IX509Extensions .
- Quita las extensiones críticas predeterminadas (XCN_OID_KEY_USAGE y XCN_OID_BASIC_CONSTRAINTS2) de la colección si la plantilla indica que no son críticas. Se agregan los OID marcados como críticos por la plantilla.
- Establece la propiedad SmimeCapabilities si la plantilla admite algoritmos simétricos.
- Establece la propiedad AlternateSignatureAlgorithm si la plantilla requiere un OID de algoritmo de firma discreto.
- Crea un objeto IX509SignatureInformation .
- Crea un OID de algoritmo hash si el algoritmo se especifica en la plantilla y lo establece en el objeto IX509SignatureInformation .
- Crea un OID de algoritmo de cifrado asimétrico si el algoritmo se especifica en la plantilla y lo establece en el objeto IX509SignatureInformation .
- Rellena muchas de las propiedades IX509PrivateKey de la configuración de plantilla.
Si la propiedad CSPInformations es NULL, el método crea una colección ICspInformations a partir de los proveedores instalados en el equipo.
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 |