Saltar al contenido

Uso de Java para establecer una conexión segura a MySQL Amazon RDS (SSL / TLS)

Solución:

Cuando ejecute el siguiente comando y se le solicite la contraseña, debe escribir “changeit”. Esa es la contraseña predeterminada para el almacén de claves.

keytool -import -alias mysqlServerCACert -file file_location.pem -keystore truststore

A continuación, asegúrese de que el usuario de mysql que está utilizando esté configurado para requerir SSL como se muestra a continuación

GRANT ALL PRIVILEGES ON test.* TO 'root'@'localhost' REQUIRE SSL;

A continuación, asegúrese de que el paquete rds que descargó de https://s3.amazonaws.com/rds-downloads/rds-combined-ca-bundle.pem se importe en los cacerts java predeterminados del servidor de aplicaciones que está intentando conectarse a AWS RDS.

Por último, debe agregar las siguientes tres propiedades con el valor ‘verdadero’ a su URL de mysql

?verifyServerCertificate=true&useSSL=true&requireSSL=true

P.ej:

final String url = "jdbc:mysql://mysql_rds_enpoint:port/db_name?verifyServerCertificate=true&useSSL=true&requireSSL=true";

¡Espero que esto ayude!

Java keytool solo importa un certificado a la vez, pero el paquete de CA combinado de RDS tiene muchos certificados de CA. Deberá importar cada certificado del paquete por separado. Cuando intenta importar el paquete, solo está importando un certificado, que puede no ser la CA raíz que necesita para confiar en la instancia de RDS.

En Linux, puede dividir el pem con la herramienta CSPLIT:

csplit -b %02d.pem -z rds-combined-ca-bundle.pem /-----BEGIN/ {*}

Luego, debe importar cada pem a su almacén de claves por separado.

En Mac OS X y FreeBSD, el procedimiento es similar. Esto dividirá e importará todos los certificados de rds-mixed-cabundle.pem. Deberá cambiar la ruta para OS X, pero por lo demás es idéntica.

split -p "-----BEGIN CERTIFICATE-----" rds-combined-ca-bundle.pem individual-

find . -iname 'individual*' -exec keytool -import -file {} -alias {} -storepass changeit -keystore /usr/local/openjdk8/jre/lib/security/cacerts ;
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *