Méthode setEncrypt (SQLServerDataSource)
Définit une valeur booléenne qui indique si la propriété encrypt est activée.
Syntaxe
public void setEncypt(boolean encrypt)
Paramètres
encrypt
true si le chiffrement TLS (Transport Layer Security), anciennement SSL (Secure Sockets Layer), est activé entre le client et le serveur SQL Server. Dans le cas contraire, la valeur est false.
Notes
Si la propriété encrypt a la valeur true, le Pilote Microsoft JDBC pour SQL Server vérifie que SQL Server utilise le chiffrement TLS pour toutes les données envoyées entre le client et le serveur, si un certificat est installé sur le serveur. La valeur par défaut est false.
Le pilote JDBC détecte la machine virtuelle Java (JVM) sur laquelle il est exécuté lors de la tentative d’établissement d’une négociation TLS.
Si la propriété de chiffrement a la valeur true, le Pilote Microsoft JDBC pour SQL Server utilise le fournisseur de sécurité JSSE par défaut de la machine virtuelle Java pour négocier le chiffrement TLS avec SQL Server. Le fournisseur de sécurité par défaut peut ne pas prendre en charge toutes les fonctionnalités requises pour négocier le chiffrement TLS avec succès. Par exemple, le fournisseur de sécurité par défaut peut ne pas prendre en charge la taille de la clé publique RSA utilisée dans le certificat TLS/SSL SQL Server. Dans ce cas, le fournisseur de sécurité par défaut peut générer une erreur qui forcera le pilote JDBC à mettre fin à la connexion. Pour résoudre ce problème, effectuez l'une des opérations suivantes :
Configurer l’ordinateur SQL Server avec un certificat de serveur qui a une plus petite clé publique RSA
Configurer la machine virtuelle Java de façon pour utiliser un autre fournisseur de sécurité JSSE dans le fichier de propriétés de sécurité « <java-home>/lib/security/java.security
Utiliser une autre machine virtuelle Java
Si la propriété encrypt n’est pas spécifiée ou si elle a la valeur false, le pilote n’impose pas à SQL Server la prise en charge du chiffrement TLS. Si l’instance de SQL Server n’est pas configurée pour imposer le chiffrement TLS, une connexion est établie sans aucun chiffrement. Si l’instance de SQL Server est configurée pour imposer le chiffrement TLS, le Pilote Microsoft JDBC pour SQL Server active automatiquement le chiffrement TLS lors de l’exécution sur une machine virtuelle Java (JVM) correctement configurée ; sinon, la connexion est interrompue et le pilote génère une erreur.