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

Wie stellt man mit JDBC eine Verbindung zu MySQL mit X509 her?

Geknackt, hier aufgelistet, in meinem Kommentar unten auf der Seite:http://dev.mysql.com/doc/refman/5.0/en/connector-j-reference-using-ssl.html

Nachdem ich buchstäblich eine Woche damit verbracht habe, habe ich es endlich geschafft, eine Verbindung mit einem Client-Zertifikat herzustellen (erfordert X509 in der Benutzerdefinition)!!!!

rem NOTE: these commands are run using the Java 6 (1.6) JDK as it requires the "-importkeystore" command
rem which is not available before this JDK version.

rem Import the self signed Certifacte Authority certificate into a keystore.
keytool -import -alias mysqlCACert -file ca-cert.pem -keystore truststore -storepass truststore
rem Shows only the signed certificate.
keytool -v -list -keystore truststore -storepass truststore

rem Create a PKCS12 file from an existing signed client certifcate and its private key.
rem set password to "keystore".
openssl pkcs12 -export -in client-cert.pem -inkey client-key.pem -out client.p12 -name clientalias -CAfile ca-cert.pem -caname root
rem Import the combined certificate and private key into the keystore.
keytool -importkeystore -deststorepass keystore -destkeystore keystore -srckeystore client.p12 -srcstoretype PKCS12 -srcstorepass keystore -alias clientalias

Geben Sie dann die vertrauenswürdige Zertifikatsdatei (den Truststore) und die Client-Zertifikats-/Schlüsseldatei (den Keystore) in Ihrer Java-Anwendung entweder über die Verbindungs-URL, über die JVM-Startparameterargumente (-D=,...) oder an System.setProperty(var,val),...

Es funktioniert tatsächlich!!!