2017-11-02 2 views
2

Ich versuche eine SSL-Verbindung zwischen JDBC und AWS RDS herzustellen. Hier habe ich einen Schlüsselspeicher mit folgenden Befehle:MySQL-RDS- und JDBC-SSL-Konnektivität gibt Fehler: Ich kann keinen gültigen Zertifizierungspfad zum angeforderten Ziel finden

# convert certificate into java understandable format 
openssl x509 -outform der -in rds-combined-ca-bundle.pem -out rds-combined-ca-bundle.der 
# importing the certificate to keystore 
sudo keytool -keystore keystore -alias rds_postgresql -import -file rds-combined-ca-bundle.der 

Und setzen Sie den Wert von Schlüsselspeicher und Kennwort für Schlüsselspeicher direkt in die Anwendung

System.setProperty("javax.net.ssl.keyStore", "/path/of/the/keystore"); 
System.setProperty("javax.net.ssl.keyStorePassword", "******"); 

Aber nach all diese Einstellungen hinzugefügt, erhalte ich folgende Fehler

Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target 
    at sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:141) ~[?:1.8.0_131] 
    at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:126) ~[?:1.8.0_131] 
    at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:280) ~[?:1.8.0_131] 
    at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:382) ~[?:1.8.0_131] 
    at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:292) ~[?:1.8.0_131] 
    at sun.security.validator.Validator.validate(Validator.java:260) ~[?:1.8.0_131] 

Was ist hier falsch?

ich dieses Tutorial Setup SSL gefolgt:

https://dev.mysql.com/doc/connector-j/5.1/en/connector-j-reference-using-ssl.html

+0

Bitte überprüfen Sie, ob dies hilft! http://www.mkyong.com/webservices/jax-ws/suncertpathbuilderexception-unable-to-find-valid-certification-path-to-requested-target/ –

+0

Es könnte mein Problem lösen, aber IMHO eine zusätzliche Komponente wird nicht sei eine gute Lösung. Ich denke, das Finden der Ursache kann mir helfen. – pulkit

Antwort

0

Seit rds-combined-ca-bundle.pem enthält eine Reihe von Zertifikaten, wenn wir sie aufgeteilt und .pem Dateien für alle Zertifikate erstellen und sie keystore separat importieren, wird es funktionieren .

Das Problem wird verursacht, weil das gesamte Zertifikatsbündel von rds in Keystore importiert wird.

Verwandte Themen