J'essaie de comprendre comment les différents paramètres affectent le comportement de ma communication serveur-client. Sur le serveur, j'ai installé une autorité de certification auto-signée avec un certificat d'échange émis qui a également été configuré pour être utilisé par mon service SQL.
Au début, j'aimerais voir cette connexion échouer lorsque l'autorité de certification racine n'a pas été installée sur le client. Mais quoi que je fasse, cela semble fonctionner de toute façon.
Pour mieux comprendre pourquoi, j'essaie de lister toutes les options et quel effet elles devraient produire. Mais je ne suis pas sûr de l'avoir bien compris ...
Quelqu'un peut-il m'aider à corriger et à remplir les pièces manquantes ici?
Lors de l'activation du paramètre "Forcer le chiffrement" sur le serveur SQL:
Encrypt=True;TrustServerCertificate=True;
dans ma chaîne de connexion. Le client n'a pas son mot à dire si le chiffrement doit être utilisé ou non et si le serveur doit être approuvé ou non.Lors de l'activation du paramètre "Forcer le chiffrement du protocole" sur le serveur SQL:
Lors de l'utilisation du paramètre "Forcer le chiffrement du protocole" sur le client:
Lorsque vous activez le paramètre "Forcer le chiffrement du protocole" sur le serveur et le client:
Lorsque vous activez à la fois "Forcer le cryptage" et "Forcer le cryptage du protocole" sur le serveur:
Le blog MSDN de Microsoft contient un tableau décrivant les conditions possibles et leurs résultats.
Voir tilisation sélective d'une connexion sécurisée à SQL Server pour comprendre les options de configuration côté client et de propriété de connexion affectant les connexions sécurisées pour le client concerné uniquement. Le serveur et les autres clients ne sont pas affectés.