Compartir a través de


IX509CertificateRequestCmc::InitializeFromInnerRequestTemplateName (certenroll.h)

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

Syntax

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 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.
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 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 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 Vista [solo aplicaciones de escritorio]
Servidor mínimo admitido Windows Server 2008 [solo aplicaciones de escritorio]
de la plataforma de destino de Windows
Header certenroll.h
DLL de CertEnroll.dll

Consulte también

IX509CertificateRequestCmc