Mysql
 sql >> Base de données >  >> RDS >> Mysql

Problème MySQL JDBC sur SSL

La prise en charge des certificats auto-signés a été récemment ajoutée au pilote MariaDB JDBC (qui fonctionne également pour la connexion à MySQL). La dernière version (1.1.3 au moment de la rédaction de cet article) vous permet également de spécifier directement le certificat du serveur lors de l'exécution afin que vous n'ayez pas besoin de configurer des magasins de clés ou d'importer des certificats à l'avance.

Les deux propriétés à définir sont useSSL et serverSslCert . Ce dernier peut être soit le certificat lui-même (une valeur de chaîne), soit un chemin vers un fichier contenant le certificat (soit un chemin complet, soit un chemin de classe relatif) :

String url = "jdbc:mysql://" + host + ":" + port + "/" + database;
Properties info = new Properties();
info.setProperty("user", username);
info.setProperty("password", password);
info.setProperty("useSSL", "true");
info.setProperty("serverSslCert", "classpath:server.crt");
Connection conn = DriverManager.getConnection(url, info);

Pour un exemple de travail complet sur la façon de se connecter, voir ici :https://github.com/properssl /java-jdbc-mariadb