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

El método InstallResponse instala una cadena de certificados en el equipo de la entidad final. La matriz de bytes que contiene la respuesta se codifica mediante reglas de codificación distinguida (DER) tal como se define en el estándar Notación de sintaxis abstracta Uno (ASN.1). Debe especificar la matriz de bytes con codificación DER en una cadena que sea una secuencia binaria pura o que esté codificada en Unicode. Este método está habilitado para web.

Sintaxis

HRESULT InstallResponse(
  [in]           InstallResponseRestrictionFlags Restrictions,
  [in]           BSTR                            strResponse,
  [in]           EncodingType                    Encoding,
  [in, optional] BSTR                            strPassword
);

Parámetros

[in] Restrictions

Valor de enumeración InstallResponseRestrictionFlags que especifica el tipo de certificados que se pueden instalar. Puede ser uno o varios de los valores siguientes.

Valor Significado
AllowNone
No instale certificados o certificados que no sean de confianza para los que no haya ninguna solicitud correspondiente.
AllowNoOutstandingRequest
Cree la clave privada a partir de la respuesta del certificado en lugar del certificado ficticio. Esto hace que el certificado ficticio sea opcional. Si no se establece este valor, el certificado ficticio debe existir y la clave privada se extrae de él.
AllowUntrustedCertificate
Instale certificados de entidad final y entidad de certificación que no son de confianza. Los certificados de entidad de certificación incluyen certificados de entidad de certificación raíz y subordinados. Los certificados de entidad final se instalan en el almacén personal y los certificados de entidad de certificación se instalan en el almacén de la entidad de certificación.
AllowUntrustedRoot
Realice la misma acción que la marca AllowUntrustedCertificate , pero también instala el certificado aunque no se pueda compilar la cadena de certificados porque la raíz no es de confianza.
Nota En Windows Vista, el comportamiento de esta marca es el mismo que el definido para la marca AllowUntrustedCertificate . A partir de Windows Vista con SP1, puede instalar un certificado que se encadena a una raíz que no es de confianza.
 

[in] strResponse

Variable BSTR que contiene la respuesta codificada por DER.

[in] Encoding

Valor de enumeración EncodingType que especifica el tipo de codificación aplicada a la cadena que contiene la respuesta codificada por DER.

[in, optional] strPassword

Una contraseña opcional para la instalación del certificado. Puede ser NULL o una cadena vacía para indicar que no se usa ninguna contraseña. Si hay una contraseña, desactive la memoria cuando haya terminado de usarla mediante una llamada a la función SecureZeroMemory . Para obtener más información sobre cómo proteger la contraseña, consulte Control de contraseñas.

A partir de Windows 8 y Windows Server 2012, una contraseña NULA o vacía puede significar que el paquete PFX se creó en la función PFXExportCertStoreEx mediante la marca PKCS12_PROTECT_TO_DOMAIN_SIDS . Si es así, el PFX se cifró en un grupo de Active Directory. Para obtener más información, vea PFXExportCertStoreEx y PFXImportCertStore.

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
E_ACCESSDENIED
Se llamó a este método desde la web y se especificó AllowNoOutstandingRequest o AllowUntrustedCertificate en el parámetro Restrictions .
HRESULT_FROM_WIN32(ERROR_ARITHMETIC_OVERFLOW
La longitud de la cadena que contiene la contraseña supera los 64 kilobytes.
OLE_E_BLANK
El objeto de inscripción no se ha inicializado.

Comentarios

Método InstallResponse :

  1. Recupera el certificado ficticio del almacén externo.
  2. Recupera el certificado contenido en la respuesta e lo instala en el equipo.
  3. Copia las propiedades del certificado ficticio del almacén externo en el certificado recién instalado en el almacén personal.

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

Si llama a este método desde la web, solo puede especificar AllowNone o AllowUntrustedRoot en el parámetro Restrictions . Si especifica AllowNoOutstandingRequest o AllowUntrustedCertificate, el método devuelve un error E_ACCESSDENIED .

Requisitos

   
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

IX509Enrollment