Compartir a través de


Método ICertRequest3::SetCredential (certcli.h)

El método SetCredential establece la credencial usada para ponerse en contacto con el servicio web de inscripción de certificados.

Sintaxis

HRESULT SetCredential(
  [in] LONG                    hWnd,
  [in] X509EnrollmentAuthFlags AuthType,
  [in] BSTR                    strCredential,
  [in] BSTR                    strPassword
);

Parámetros

[in] hWnd

Identificador de la ventana primaria.

Debe establecer el parámetro hWnd que hay una interfaz de usuario presentada para obtener la credencial.

En el caso de la autorización basada en certificados, el identificador se usa si se necesita un mensaje de interfaz de usuario para obtener la credencial, por ejemplo, si la credencial está en una tarjeta inteligente y se necesita un aviso de anclaje.

Cuando se usa Kerberos, anónimo o autenticación de nombre de usuario y contraseña, este parámetro se omite.

[in] AuthType

Valor de la enumeración X509EnrollmentAuthFlags que especifica el tipo de autenticación.

Valor Significado
X509AuthAnonymous
Autenticación anónima.

Establezca los parámetros strCredential y strPassword en NULL o en cadenas vacías.

X509AuthCertificate
Certificado de autenticación de cliente instalado en el equipo local. El certificado contiene una clave pública asociada a una clave privada (no incluida en el certificado). El servidor usa el certificado para comprobar la identidad del cliente.

El parámetro strCredential contiene un hash SHA-1 binario de 20 bytes del certificado que se va a pasar al servicio web de inscripción de certificados para autenticar al autor de la llamada. Establezca el parámetro strPassword en NULL o en una cadena vacía. El parámetro strCredential debe hacer referencia a un certificado instalado en el almacén de certificados personal correspondiente y debe tener una clave privada asociada que sea accesible para el autor de la llamada.

X509AuthKerberos
Autenticación Kerberos.

Establezca los parámetros strCredential y strPassword en NULL o en cadenas vacías.

X509AuthUsername
Nombre de usuario y autenticación de contraseña de texto sin formato. El nombre de usuario y la contraseña se cifran cuando se almacenan en el almacén de credenciales en el cliente.

Los parámetros strCredential y strPassword contienen una cadena de nombre de usuario y una contraseña de texto no cifrado compatible con el servicio web de inscripción de certificados para autenticar al autor de la llamada. Dado que una conexión de servicio de inscripción siempre usa el protocolo Capa de sockets seguros (SSL), la contraseña se cifra cuando se envía a través de la conexión.

[in] strCredential

Cadena que contiene la credencial.

[in] strPassword

Cadena que contiene la contraseña.

Valor devuelto

Código devuelto Descripción
E_INVALIDARG
El parámetro AuthType debe ser X509AuthKerberos.

Comentarios

Se debe llamar al método SetCredential antes de llamar al método ICertRequest2::Submit .

Los argumentos strCredential y strPassword cambian según el valor especificado en el parámetro AuthType , tal como se muestra en la tabla siguiente.

Parámetro AuthType Parámetro strCredential Parámetro strPassword
X509AuthAnonymous NULL NULL
X509AuthCertificate Hash SHA-1 de 20 bytes (huella digital) del certificado NULL
X509AuthKerberos NULL NULL
X509AuthUsername Nombre de usuario de texto no cifrado reconocido por el servicio web de inscripción de certificados Contraseña de texto no cifrado asociada al nombre de usuario

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 certcli.h (incluya Certsrv.h)
Library Certidl.lib
Archivo DLL Certcli.dll

Consulte también

CCertRequest

ICertRequest3