Share via


Realizar la autenticación mediante Schannel

Todos los protocolos Schannel requieren que el servidor proporcione un certificado de una entidad de certificación (CA) de confianza como prueba de su identidad. Este proceso se denomina autenticación de servidor. La autenticación de cliente, donde el cliente proporciona una prueba de su identidad, es opcional y el servidor puede solicitarla en cualquier momento.

Autenticación del servidor

El comportamiento predeterminado de Schannel es usar la función WinVerifyTrust para comprobar la integridad y la propiedad del certificado de servidor. Para deshabilitar esta característica, especifique ISC_REQ_MANUAL_CRED_VALIDATION al llamar a la función InitializeSecurityContext (Schannel). Para obtener más información, consulte Validación manual de credenciales de Schannel.

Autenticación del cliente

Schannel no valida los certificados del cliente; el servidor debe realizar esta autenticación manualmente. Normalmente, el servidor comprobará la identidad del cliente en una base de datos que contiene información de la cuenta de usuario. Para los servidores que necesitan obtener la cuenta de un cliente mediante un certificado, consulte Asignación de certificados.

Cuando el servidor solicita autenticación de cliente, el cliente debe enviar al servidor uno de sus certificados. De forma predeterminada, Schannel, sin notificación al cliente, intentará localizar un certificado de cliente y enviarlo al servidor. Para deshabilitar esta característica, los clientes especifican ISC_REQ_USE_SUPPLIED_CREDS al llamar a la función InitializeSecurityContext (Schannel ). Cuando se especifica esta marca, Schannel devolverá SEC_I_INCOMPLETE_CREDENTIALS al cliente cuando el servidor solicite autenticación y el cliente no haya proporcionado previamente un certificado.