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

Google Cloud SQL con SSL de Compute Engine y/o red externa

mba12 Tuve el mismo problema, ¡gracias por la respuesta!

Entonces, la solución está aquí (como usted señaló):¿Cómo conectarse a MySQL con X509 usando JDBC?

También encontré este:keystore-to-use-i/8224863#8224863">importar un certificado x509 existente y una clave privada en el almacén de claves de Java para usar en ssl

Solo como aclaración

javax.net.ssl.keyStore debe ser certificado de cliente + clave combinados, no solo certificado de cliente como se describe en la guía de MySQL.

Para resumir

  1. Tenemos:

server-ca.pem - Certificado MySQL CA, se puede descargar desde "Configuración SSL -> Ver certificado CA del servidor"

client-cert.pem - clave pública del cliente, se puede descargar desde "Certificados de cliente -> certificado recién creado"

client-key.pem - clave privada del cliente, solo se puede descargar desde "Cuadro de diálogo Nuevo certificado SSL creado"

Se describe aquí:https://cloud.google.com/sql/docs/ configurar-ssl-instancia

Guardémoslos en instancia-servidor/ carpeta y cree jks/ carpeta para los archivos generados en el paso 2.

  1. Crear truststore archivo

    2.1. Copie los cacerts originales de JAVA a jks/truststore.jks :

    cp $JAVA_HOME/jre/lib/security/cacerts jks/truststore.jks

    2.2. Agregue el certificado de CA del servidor MySQL / Google Cloud SQL Server CA server-ca.pem al almacén de confianza predeterminado de JAVA cacerts que hemos copiado en el paso 2.1.:

    keytool -importcert -noprompt -trustcacerts -keystore jks/truststore.jks -storepass changeit -alias googlecloudsqlservercacert -file server-instance/server-ca.pem

  2. Crear keystore archivo

    3.1. Convierta el certificado x509 y la clave privada en un archivo pkcs12:

    openssl pkcs12 -export -in server-instance/client-cert.pem -inkey server-instance/client-key.pem -out jks/client.p12

    (ingrese la contraseña obligatoria), por ejemplo:p4ssw0rd

    3.2. Convierta el archivo pkcs12 en un almacén de claves de Java:

    keytool -importkeystore -srckeystore jks/client.p12 -srcstoretype PKCS12 -destkeystore jks/keystore.jks -deststoretype JKS

    (ingrese las mismas contraseñas), por ejemplo:p4ssw0rd

Acerca de la conversión:http://blog.ejbca. org/2008/02/converting-keystores- between-jks-and.html