Événement
31 mars, 23 h - 2 avr., 23 h
Le plus grand événement d’apprentissage SQL, Fabric et Power BI. 31 mars au 2 avril. Utilisez le code FABINSIDER pour économiser 400 $.
S’inscrire maintenantCe navigateur n’est plus pris en charge.
Effectuez une mise à niveau vers Microsoft Edge pour tirer parti des dernières fonctionnalités, des mises à jour de sécurité et du support technique.
Les exemples de cet article décrivent comment utiliser les propriétés de chaîne de connexion qui permettent aux applications d’utiliser le chiffrement TLS (Transport Layer Security) dans une application Java. Pour plus d’informations sur ces nouvelles propriétés de chaîne de connexion, comme encrypt, trustServerCertificate, trustStore, trustStorePassword et hostNameInCertificate, consultez Définition des propriétés de connexion.
Quand la propriété encrypt est définie sur true et que la propriété trustServerCertificate est définie sur true, le Pilote Microsoft JDBC pour SQL Server ne valide pas le certificat TLS SQL Server. Ce paramètre est courant pour autoriser les connexions dans les environnements de test, par exemple quand l’instance SQL Server a seulement un certificat auto-signé.
L’exemple de code suivant montre comment définir la propriété trustServerCertificate dans une chaîne de connexion :
String connectionUrl =
"jdbc:sqlserver://localhost:1433;" +
"databaseName=AdventureWorks;integratedSecurity=true;" +
"encrypt=true;trustServerCertificate=true";
Quand la propriété encrypt est définie sur true et que la propriété trustServerCertificate est définie sur false, le Pilote Microsoft JDBC pour SQL Server valide le certificat TLS SQL Server. La validation du certificat de serveur est une partie de la négociation TLS qui garantit qu’il s’agit du serveur correct avec lequel établir une connexion. Pour valider le certificat de serveur, les informations d’approbation doivent être fournies au moment de la connexion en utilisant explicitement les propriétés de connexion trustStore et trustStorePassword, ou en utilisant implicitement le magasin d’approbations par défaut de la machine virtuelle Java (JVM) sous-jacente.
La propriété trustStore spécifie le chemin (y compris le nom de fichier) du fichier trustStore de certificat, qui contient la liste des certificats approuvés par le client. La propriété trustStorePassword spécifie le mot de passe utilisé pour vérifier l’intégrité des données trustStore. Pour plus d'informations sur l'utilisation du magasin d'approbations par défaut de la machine virtuelle Java, consultez Configuration du client pour le chiffrement.
L’exemple de code suivant montre comment définir les propriétés trustStore et trustStorePassword dans une chaîne de connexion :
String connectionUrl =
"jdbc:sqlserver://localhost:1433;" +
"databaseName=AdventureWorks;integratedSecurity=true;" +
"encrypt=true; trustServerCertificate=false;" +
"trustStore=storeName;trustStorePassword=storePassword";
Le pilote JDBC fournit une propriété supplémentaire, hostNameInCertificate, qui spécifie le nom d’hôte du serveur. La valeur de cette propriété doit correspondre à la propriété de sujet du certificat.
L’exemple de code suivant montre comment utiliser la propriété hostNameInCertificate dans une chaîne de connexion :
String connectionUrl =
"jdbc:sqlserver://localhost:1433;" +
"databaseName=AdventureWorks;integratedSecurity=true;" +
"encrypt=true; trustServerCertificate=false;" +
"trustStore=storeName;trustStorePassword=storePassword;" +
"hostNameInCertificate=hostName";
Note
Vous pouvez également définir la valeur des propriétés de connexion en utilisant les méthodes setter appropriées fournies par la classe SQLServerDataSource.
Si la propriété encrypt est définie sur true et que la propriété trustServerCertificate est définie sur false, et si le nom du serveur dans la chaîne de connexion ne correspond pas au nom du serveur du certificat TLS, le message d’erreur suivant s’affiche : The driver couldn't establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: "java.security.cert.CertificateException: Failed to validate the server name in a certificate during Secure Sockets Layer (SSL) initialization."
. À partir de la version 7.2, le pilote prend en charge les critères spéciaux de caractères génériques mentionnés sur l’étiquette située tout à gauche du nom du serveur dans le certificat TLS.
Événement
31 mars, 23 h - 2 avr., 23 h
Le plus grand événement d’apprentissage SQL, Fabric et Power BI. 31 mars au 2 avril. Utilisez le code FABINSIDER pour économiser 400 $.
S’inscrire maintenantFormation
Module
Protéger les données en transit et au repos - Training
Protéger les données en transit et au repos
Certification
Microsoft Certified : Azure Database Administrator Associate - Certifications
Administrer une infrastructure de base de données SQL Server pour les bases de données relationnelles cloud, locales et hybrides à l’aide des offres de bases de données relationnelles Microsoft PaaS.
Documentation
Présentation de la prise en charge du chiffrement - JDBC Driver for SQL Server
Découvrez comment vous assurer que le pilote JDBC utilise le chiffrement TLS pour sécuriser les connexions à une base de données SQL.
Configuration et résolution des problèmes JDBC - SQL Server
Décrit la connectivité de base de données Java (JDBC) et les étapes de résolution des problèmes qui se produisent pendant la configuration.
Configuration du client pour le chiffrement - JDBC Driver for SQL Server
En savoir plus sur le chiffrement côté client et l’approbation de certificat pour garantir la sécurité des clients à l’aide du pilote Microsoft JDBC pour SQL Server.