sql >> Base de Datos >  >> RDS >> Mysql

Problema MySQL JDBC sobre SSL

Recientemente se agregó soporte para certificados autofirmados al controlador MariaDB JDBC (que también funciona para conectarse a MySQL). La última versión (1.1.3 al momento de escribir esto) también le permite especificar directamente el certificado del servidor en tiempo de ejecución para que no necesite configurar almacenes de claves o importar certificados por adelantado.

Las dos propiedades a configurar son useSSL y serverSslCert . Este último puede ser el propio certificado (un valor de cadena) o una ruta a un archivo que contiene el certificado (ya sea una ruta completa o una ruta de clase relativa):

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 ver un ejemplo completo de cómo conectarse, consulte aquí:https://github.com/properssl /java-jdbc-mariadb