Compartir a través de


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 distinguidas (DER), tal como se define en el estándar notación de sintaxis abstracta Uno (ASN.1). Debe especificar la matriz de bytes codificada por DER en una cadena que sea una secuencia binaria pura o unicode codificada. Este método está habilitado para web.

Syntax

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 siguientes valores.

Importancia Meaning
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 de certificación y entidad de certificación que no sean de confianza. Los certificados de entidad de certificación incluyen certificados de entidad de certificación raíz y subordinado. 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, puedes instalar un certificado que se encadena a una raíz que no es de confianza.
 

[in] strResponse

Variable BSTR que contiene la respuesta codificada en 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 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 de retorno Description
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.

Observaciones

El 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 en el 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

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

IX509Enrollment