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

Google Cloud SQL con SSL da Compute Engine e/o rete esterna

mba12 Ho avuto lo stesso problema, grazie per la risposta!

Quindi, la soluzione è qui (come hai sottolineato):Come connettersi a MySQL con X509 utilizzando JDBC?

Ho trovato anche questo:importazione di un certificato x509 esistente e di una chiave privata in Java keystore da utilizzare in ssl

Solo per chiarimento

javax.net.ssl.keyStore deve essere certificato client + chiave combinati, non solo certificato client come descritto nella guida MySQL.

Per riassumere

  1. Abbiamo:

server-ca.pem - Certificato MySQL CA, può essere scaricato da "Configurazione SSL -> Visualizza certificato CA server"

client-cert.pem - chiave pubblica client, scaricabile da "Certificati client -> certificato appena creato"

client-key.pem - chiave privata del client, scaricabile solo da "Finestra di dialogo Crea nuovo certificato SSL"

Descritto qui:https://cloud.google.com/sql/docs/ configure-ssl-istanza

Salviamoli in istanza-server/ cartella e crea jks/ cartella per i file generati nel passaggio 2.

  1. Crea truststore file

    2.1. Copia i cacerts originali di JAVA a jks/truststore.jks :

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

    2.2. Aggiungi il certificato CA di MySQL Server/CA di Google Cloud SQL Server server-ca.pem al truststore predefinito di JAVA cacerts che abbiamo copiato nel passaggio 2.1.:

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

  2. Crea keystore file

    3.1. Converti certificato x509 e chiave privata in un file pkcs12:

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

    (inserire la password obbligatoria), ad esempio:p4ssw0rd

    3.2. Converti il ​​file pkcs12 in un keystore java:

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

    (inserisci le stesse password), ad esempio:p4ssw0rd

Informazioni sulla conversione:http://blog.ejbca. org/2008/02/converting-keystores-between-jks-and.html