Compartir a través de


IX509Enrollment2::InstallResponse2 (certenroll.h)

El método InstallResponse2 instala una cadena de certificados en el equipo de 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 InstallResponse2(
  [in]           InstallResponseRestrictionFlags Restrictions,
  [in]           BSTR                            strResponse,
  [in]           EncodingType                    Encoding,
  [in, optional] BSTR                            strPassword,
  [in]           BSTR                            strEnrollmentPolicyServerUrl,
  [in]           BSTR                            strEnrollmentPolicyServerID,
  [in]           PolicyServerUrlFlags            EnrollmentPolicyServerFlags,
  [in]           X509EnrollmentAuthFlags         authFlags
);

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 . Puede instalar una raíz que no es de confianza a partir de Windows Vista con SP1.
 

[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 para indicar que no se usa ninguna contraseña. Cuando haya terminado de usar la contraseña, desactive la memoria llamando a la función SecureZeroMemory . Para obtener más información sobre cómo proteger la contraseña, consulte Control de contraseñas.

[in] strEnrollmentPolicyServerUrl

BSTR que contiene la dirección URL del servidor de la directiva de inscripción de certificados (CEP).

[in] strEnrollmentPolicyServerID

Un BSTR que contiene un identificador para el servidor CEP.

[in] EnrollmentPolicyServerFlags

Valor de enumeración PolicyServerUrlFlags . Puede ser uno de los siguientes valores.

Valor Significado
PsfLocationGroupPolicy
Un administrador especifica la dirección URL del servidor CEP en la directiva de grupo.
PsfLocationRegistry
La dirección URL del servidor CEP se especifica en el Registro.
PsfUseClientId
Especifica que las inscripciones y renovaciones de certificados incluyen datos específicos del cliente en un atributo ClientId . Entre los ejemplos se incluyen el nombre del proveedor de servicios criptográficos, el número de versión de Windows, el nombre de usuario, el nombre DNS del equipo y el nombre DNS del controlador de dominio. Esta marca se puede establecer mediante la directiva de grupo.

Esta marca se ha incluido para abordar los problemas de privacidad que pueden surgir durante la inscripción en servidores administrados por administradores distintos de los que administran el bosque en el que reside el usuario. Al no establecer esta marca, puede impedir el envío de información personal a administradores no locales.

PsfAutoEnrollmentEnabled
La inscripción automática de certificados está habilitada.
PsfAllowUnTrustedCA
Especifica que el cliente no debe confiar en el certificado de la ENTIDAD de certificación emisora para instalar un certificado firmado por la ENTIDAD de certificación.

[in] authFlags

Valor de enumeración X509EnrollmentAuthFlags que especifica el tipo de autenticación de cliente. Para Windows 7, solo se puede elegir X509AuthCertificate de los valores siguientes.

Valor Significado
X509AuthAnonymous
Autenticación anónima.
X509AuthKerberos
Autenticación Kerberos.
X509AuthUsername
Borrar el nombre de usuario y la autenticación de contraseñas de texto.
Nota El nombre de usuario y la contraseña se cifran antes de la transmisión y se almacenan de forma segura en el almacén de credenciales en el servidor CEP.
 
X509AuthCertificate
Certificado de autenticación de cliente instalado en el equipo local y usado por el servidor para comprobar la identidad del cliente.

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

El método InstallResponse2 :

  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 InstallResponse2 , 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 .

Los cuatro últimos parámetros (strEnrollmentPolicyServerUrl, strEnrollmentPolicyServerID, EnrollmentPolicyServerFlags y authFlags) no se incluyen en el método InstallResponse . Permiten agregar un valor de propiedad al certificado instalado de la misma manera que la interfaz ICertPropertyEnrollmentPolicyServer .

Requisitos

Requisito Value
Cliente mínimo compatible Windows 7 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 R2 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado certenroll.h

Consulte también

IX509Enrollment2