Método IX509Enrollment::CreateRequest (certenroll.h)

El método CreateRequest recupera una solicitud de certificado codificada. La solicitud de certificado se encuentra en una matriz de bytes codificada mediante reglas de codificación distinguida (DER), tal y como se define en el estándar Notación de sintaxis abstracta Uno (ASN.1). La matriz de bytes con codificación DER se representa mediante una cadena que es una secuencia binaria pura o unicode codificada. Este método está habilitado para web.

Sintaxis

HRESULT CreateRequest(
  [in]  EncodingType Encoding,
  [out] BSTR         *pValue
);

Parámetros

[in] Encoding

Valor de enumeración EncodingType que especifica el tipo de codificación Unicode aplicada a la solicitud codificada por DER. El valor predeterminado es XCN_CRYPT_STRING_BASE64.

[out] pValue

Puntero a una variable BSTR que contiene la solicitud codificada en DER.

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
CERTSRV_E_PROPERTY_EMPTY
No se encuentra la solicitud de certificado.
OLE_E_BLANK
El objeto de inscripción no se ha inicializado.

Comentarios

El método CreateRequest llama al método Encode , si es necesario, para codificar los datos sin procesar del objeto de solicitud asociado.

Este método usa la información proporcionada durante la inicialización y otras propiedades que se han especificado, crea un certificado ficticio y lo coloca en el almacén de solicitudes. El método también crea un par de claves si es necesario. En función de cómo inicialice el objeto de inscripción y de las propiedades que establezca, puede que no sea necesario crear un par de claves. Por ejemplo, si va a renovar un certificado mediante una clave existente o si el objeto IX509PrivateKey asociado a la solicitud de certificado representa una clave existente, este método no crea un nuevo par de claves.

Si hay una tarjeta inteligente implicada, este método codifica las propiedades externas como extensiones, las incluye en el certificado ficticio y escribe el certificado ficticio en el contenedor de claves de tarjeta inteligente. Los certificados de inicio de sesión de tarjeta inteligente se codifican en el almacén de solicitudes, no en el almacén personal.

Antes de llamar al método CreateRequest , debe inicializar el objeto IX509Enrollment llamando a uno de los métodos siguientes.

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

IX509CertificateRequest

IX509Enrollment