MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Es kann keine Verbindung von JAVA zum Mongo SSL Replica Set hergestellt werden

Ich hatte das gleiche Problem, und für mich stellte sich heraus, dass es ein Problem mit der Art war, wie ich den Keystore erstellt habe. Mir ist aufgefallen, dass Sie dieselbe Datei, truststore.ts, sowohl für den Truststore als auch für den Keystore verwenden. Dies kann funktionieren, aber ich würde vorschlagen, separate Dateien zu verwenden, um Verwirrung zu vermeiden.

Ich hatte bereits .pem-Dateien für die Root-CA und für den Mongo-Benutzer erstellt und konnte sie erfolgreich verwenden, um eine Verbindung mit der Mongo-Shell herzustellen. Daraus habe ich truststore.jks und keystore.jks erstellt.

Zuerst habe ich Folgendes ausgeführt, um truststore.jks zu erstellen:

keytool -import -alias root -storepass mypass -keystore truststore.jks -file rootca.pem -noprompt

Für keystore.jks benötigen Sie sowohl den öffentlichen als auch den privaten Schlüssel, konvertieren Sie also zuerst die PEM-Datei in das PKCS12-Format und importieren Sie sie dann in ein JKS:

openssl pkcs12 -export -out myuser.pkcs12 -in myuser.pem -password pass:mypass
keytool -importkeystore -srckeystore myuser.pkcs12 -srcstoretype PKCS12 -destkeystore keystore.jks -deststoretype JKS -deststorepass mypass -srcstorepass mypass