Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Google Cloud SQL mit SSL von Compute Engine und/oder externem Netzwerk

mba12 Ich hatte das gleiche Problem, danke für die Antwort!

Die Lösung ist also hier (wie Sie darauf hingewiesen haben):Wie stellt man eine Verbindung zu MySQL mit X509 über JDBC her?

Ich habe auch dieses gefunden:Importieren eines vorhandenen x509-Zertifikats und eines privaten Schlüssels in den Java-Schlüsselspeicher zur Verwendung in SSL

Nur zur Klarstellung

javax.net.ssl.keyStore muss Client-Zertifikat + Schlüssel kombiniert sein, nicht nur Client-Zertifikat, wie im MySQL-Handbuch beschrieben.

Zusammenfassend

  1. Wir haben:

server-ca.pem - MySQL-CA-Zertifikat, kann unter "SSL-Konfiguration -> Server-CA-Zertifikat anzeigen"

heruntergeladen werden

client-cert.pem - Öffentlicher Schlüssel des Clients, kann unter "Client-Zertifikate -> neu erstelltes Zertifikat" heruntergeladen werden

client-key.pem - Privater Schlüssel des Clients, kann nur über das Dialogfeld "Neues SSL-Zertifikat erstellt" heruntergeladen werden

Hier beschrieben:https://cloud.google.com/sql/docs/ configure-ssl-instance

Speichern wir sie in server-instance/ Ordner und erstellen Sie jks/ Ordner für generierte Dateien in Schritt 2.

  1. truststore erstellen Datei

    2.1. Kopieren Sie die cacerts des ursprünglichen JAVA zu jks/truststore.jks :

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

    2.2. Fügen Sie MySQL Server CA Certificate / Google Cloud SQL Server CA server-ca.pem hinzu zu JAVAs Standard-Truststore cacerts die wir in Schritt 2.1. kopiert haben:

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

  2. keystore erstellen Datei

    3.1. x509-Zertifikat und privaten Schlüssel in eine pkcs12-Datei konvertieren:

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

    (Pflichtpasswort eingeben), zum Beispiel:p4ssw0rd

    3.2. Konvertieren Sie die pkcs12-Datei in einen Java-Keystore:

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

    (gleiche Passwörter eingeben), zum Beispiel:p4ssw0rd

Informationen zur Konvertierung:http://blog.ejbca. org/2008/02/converting-keystores-between-jks-and.html