sql >> Database teknologi >  >> RDS >> Mysql

MySQL JDBC over SSL problem

Understøttelse af selvsignerede certifikater blev for nylig tilføjet til MariaDB JDBC-driveren (som også fungerer til at oprette forbindelse til MySQL). Den seneste version (1.1.3 i skrivende stund) giver dig også mulighed for direkte at angive servercertifikatet under kørsel, så du ikke behøver at konfigurere nøglelagre eller importere certifikater på forhånd.

De to egenskaber, der skal indstilles, er useSSL og serverSslCert . Sidstnævnte kan enten være selve certifikatet (en strengværdi) eller en sti til en fil, der indeholder certifikatet (enten fuld sti eller klassesti-relativ):

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);

For et fuldt fungerende eksempel på, hvordan du forbinder, se her:https://github.com/properssl /java-jdbc-mariadb



  1. MySQL specificeret nøgle var for lang

  2. java.lang.IncompatibleClassChangeError:Fundet klasse com.mysql.jdbc.Statement, men grænsefladen var forventet

  3. Flader underordnede/forældredata med ukendt antal kolonner

  4. System.Data.SqlClient Namespace til MySQL?