Share via


Connexion avec le chiffrement SSL

Le pilote JDBC Microsoft SQL Server 2005 version 1.2 fournit de nouvelles propriétés de connexion et de nouvelles méthodes d'accesseur getter et setter pour permettre aux applications d'utiliser le chiffrement SSL (Secure Sockets Layer).

Les exemples dans cette rubrique décrivent comment utiliser les nouvelles propriétés de chaîne de connexion dans une application Java. Pour plus d'informations sur ces nouvelles propriétés de chaîne de connexion, telles que encrypt, trustServerCertificate, trustStore, trustStorePassword et hostNameInCertificate, consultez Définition des propriétés de connexion.

Lorsque la propriété encrypt a la valeur true et que la propriété trustServerCertificate a la valeur true, le pilote JDBC Microsoft SQL Server 2005 ne valide pas le certificat SSL SQL Server. Cela est généralement requis pour autoriser les connexions dans les environnements de test, par exemple lorsque l'instance SQL Server possède 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";

Lorsque la propriété encrypt a la valeur true et que la propriété trustServerCertificate a la valeur false, le pilote JDBC Microsoft SQL Server 2005 valide le certificat SSL SQL Server. La validation du certificat de serveur est une partie de la négociation SSL qui garantit qu'il s'agit du serveur correct avec lequel établir une connexion. Afin de valider le certificat de serveur, les informations d'approbation doivent être fournies au moment de la connexion en utilisant les propriétés de connexion trustStore et trustStorePassword de manière explicite ou en utilisant le magasin d'approbations par défaut de la machine virtuelle Java (JVM) sous-jacente de manière implicite.

La propriété trustStore spécifie le chemin d'accès (y compris le nom de fichier) au 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 SSL.

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";
NoteRemarque :

Vous pouvez également définir la valeur des propriétés de connexion en utilisant les méthodes d'accesseur setter appropriées fournies par la classe SQLServerDataSource.

Voir aussi

Concepts

Utilisation du chiffrement SSL

Autres ressources

Sécurisation des applications de pilote JDBC