Obtención de credenciales de Schannel
El proceso de autenticación de Schannel requiere credenciales; Tanto el cliente como el servidor deben obtener credenciales válidas para establecer un contexto de seguridad para el intercambio de mensajes. Para ver un ejemplo que muestra este procedimiento, consulte Obtención de credenciales.
La aplicación obtiene las credenciales mediante una llamada a la función AcquireCredentialsHandle , que devuelve un identificador a las credenciales solicitadas. Dado que los identificadores de credenciales se usan para almacenar información de configuración, no se puede usar el mismo identificador para las operaciones del lado cliente y del lado servidor. Esto significa que las aplicaciones que admiten conexiones de cliente y servidor deben obtener un mínimo de dos identificadores de credenciales.
En Windows XP, una estructura de SCHANNEL_CRED especifica lo siguiente:
- Un protocolo de seguridad
- Cifrados permitidos
- Puntos fuertes de cifrado mínimos y máximos
- Un certificado X.509 que se usa para la autenticación: obligatorio para el servidor, opcional para el cliente, a menos que el servidor solicite la autenticación del cliente.
Pase la estructura SCHANNEL_CRED (a través del parámetro pAuthData ) a la función AcquireCredentialsHandle . Esta función devuelve el identificador de credenciales necesario para establecer un contexto de seguridad.
Para obtener información detallada sobre cómo establecer los cifrados usados con Schannel, consulte Especificar cifrados Schannel y puntos fuertes de cifrado.
Para obtener información sobre los certificados, vea Funciones de almacén de certificados y certificados.
Para obtener un ejemplo en el que se muestra cómo abrir un almacén de certificados y buscar un certificado que se va a usar para la autenticación de Schannel, consulte Obtención de un certificado.