Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

MySQL JDBC sobre problema de SSL


O suporte para certificados autoassinados foi adicionado recentemente ao driver MariaDB JDBC (que também funciona para conexão ao MySQL). A versão mais recente (1.1.3 até o momento em que foi escrita) também permite que você especifique diretamente o certificado do servidor em tempo de execução para que você não precise configurar armazenamentos de chaves ou importar certificados antecipadamente.

As duas propriedades a serem definidas são useSSL e serverSslCert . O último pode ser o próprio certificado (um valor String) ou um caminho para um arquivo que contém o certificado (caminho completo ou relativo ao caminho de 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);

Para um exemplo completo de como se conectar, veja aqui:https://github.com/properssl /java-jdbc-mariadb