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

Problema MySQL JDBC su SSL

Il supporto per i certificati autofirmati è stato recentemente aggiunto al driver JDBC MariaDB (che funziona anche per la connessione a MySQL). L'ultima versione (1.1.3 al momento della stesura di questo documento) consente inoltre di specificare direttamente il certificato del server in fase di esecuzione in modo da non dover configurare archivi chiavi o importare certificati in anticipo.

Le due proprietà da impostare sono useSSL e serverSslCert . Quest'ultimo può essere il certificato stesso (un valore String) o il percorso di un file che contiene il certificato (percorso completo o relativo al percorso di classe):

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

Per un esempio funzionante completo di come connettersi, vedere qui:https://github.com/properssl /java-jdbc-mariadb