Spécification des chiffrements Schannel et des forces de chiffrement
Pour les échanges d’informations client/serveur, le comportement par défaut de Schannel consiste à négocier le meilleur chiffrement disponible en fonction de ceux activés dans le Registre. Les applications peuvent limiter les chiffrements et les forces de chiffrement autorisés pour une connexion à l’aide de membres de la structure SCHANNEL_CRED comme suit :
- Définissez le membre palgSupportedAlgs sur un tableau de ALG_ID contenant les chiffrements autorisés. Pour plus d’informations, consultez Id de chiffrement.
- Définissez les membres dwMinimumCipherStrength et/ou dwMaximumCipherStrength sur les forces minimales et maximales autorisées. Pour plus d’informations, consultez Valeurs de force de chiffrement.
- Transmettez la structure SCHANNEL_CRED (au moyen du paramètre pAuthData ) dans un appel à la fonction AcquireCredentialsHandle . Cette fonction retourne un handle d’informations d’identification.
- Spécifiez le handle d’informations d’identification dans un appel à la fonction InitializeSecurityContext (Général) côté client ou à la fonction AcceptSecurityContext (Général) côté serveur.
ID de chiffrement
Le comportement par défaut de Schannel consiste à demander le meilleur chiffrement disponible en fonction des entrées Schannel dans le registre système. Ne modifiez pas le registre système ; Les paramètres qu’il contient pour Schannel sont utilisés globalement et affectent d’autres applications. Pour obtenir la liste des constantes valides, consultez ALG_ID.
Valeurs de force de chiffrement
Cette fonctionnalité Schannel est généralement utilisée pour limiter une connexion aux chiffrements de force nationaux ou d’exportation. Les points forts nationaux incluent 56 et 128 bits, tandis que la puissance d’exportation est limitée à 56 bits. Si vous définissez les valeurs minimales et maximales sur zéro, Schannel utilisera toutes les forces de chiffrement disponibles.
À l’aide de TLS ou SSL 3.0, définissez le membre dwMinimumCipherStrength sur -1 (négatif) pour activer les suites de chiffrement « Null Cipher », qui fournissent des signatures mais aucun chiffrement. Si dwMaximumCipherStrength est également défini sur -1, seules les suites « Chiffrement Null » sont activées. Ce paramètre est destiné au développement uniquement et ne doit pas être utilisé dans les systèmes de production.
Interrogation des informations de chiffrement
Pour récupérer les paramètres de force de chiffrement d’une information d’identification, appelez la fonction QueryCredentialsAttributes et spécifiez SECPKG_ATTR_CIPHER_STRENGTHS comme paramètre ulAttribute .
Pour récupérer la liste des algorithmes pris en charge pour les informations d’identification, appelez QueryCredentialsAttributes avec SECPKG_ATTR_SUPPORTED_ALGS comme paramètre ulAttribute .