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 |
---|---|
|
Autenticación anónima.
Establezca los parámetros strCredential y strPassword en NULL o en cadenas vacías. |
|
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. |
|
Autenticación Kerberos.
Establezca los parámetros strCredential y strPassword en NULL o en cadenas vacías. |
|
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 |
---|---|
|
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 |