IX509CertificateRequestCmc::InitializeFromInnerRequestTemplateName (certenroll.h)

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

Sintaxis

HRESULT InitializeFromInnerRequestTemplateName(
  [in] IX509CertificateRequest *pInnerRequest,
  [in] BSTR                    strTemplateName
);

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] strTemplateName

Variable BSTR que contiene el nombre común (CN) de la plantilla tal como aparece en Active Directory o el identificador de objeto decimal punteado.

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.
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 InitializeFromInnerRequestTemplateName :

  • 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 Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado certenroll.h
Archivo DLL CertEnroll.dll

Consulte también

IX509CertificateRequestCmc