Der Java -Treiber kann nicht dazu führenJava

Java-Forum
Anonymous
 Der Java -Treiber kann nicht dazu führen

Post by Anonymous »

Ich habe kürzlich einen Server mit einem selbstsignierten Zertifikat eingerichtet und kann es einfach nicht zum Laufen von Java bringen. Mein Prozess war es, ein Ca pem und ein Schlüsselpem zu erstellen und sie für TLS zu verwenden. Damit habe ich Mongo Compass in der Lage, eine Verbindung herzustellen, sowie ein grundlegendes Python -Programm. Wenn ich versuche, dasselbe in Java zu tun, erhalte ich ständig diesen Fehler:
Hallo, ich habe kürzlich einen Server mit einem selbstsignierten Zertifikat eingerichtet und kann es einfach nicht zum Laufen von Java bringen. Mein Prozess war es, ein Ca pem und ein Schlüsselpem zu erstellen und sie für TLS zu verwenden. Damit habe ich Mongo Compass in der Lage, eine Verbindung herzustellen, sowie ein grundlegendes Python -Programm. Wenn ich versuche, dasselbe in Java zu tun, erhalte ich diesen Fehler ständig: < /p>

Code: Select all

Caused by: javax.net.ssl.SSLHandshakeException: PKIX path validation failed: java.security.cert.CertPathValidatorException: Path does not chain with any of the trust anchors
< /code>
Da es Java ist, musste ich auch das zusätzliche TLS -Material am Ende des URI entfernen und Vertrauens- und Schlüsselgeschäfte verwenden, um es zum Laufen zu bringen, aber es funktionierte nie. Unten ist mein Code: < /p>
        System.setProperty("javax.net.ssl.trustStore","C:/Program Files/Java/jdk-21/lib/security/cacerts");
System.setProperty("javax.net.ssl.trustStorePassword","changeit");
System.setProperty("javax.net.ssl.keyStore", "C:/Program Files/Java/jdk-21/lib/security/mongodb.pkcs12");
System.setProperty("javax.net.ssl.keyStorePassword","changeit");
System.out.println(System.getProperties());

String connectionString = "?tls=true";

MongoClientSettings settings = MongoClientSettings.builder()
.applyConnectionString(new ConnectionString(connectionString))

.applyToSslSettings(builder -> {
builder.enabled(true);
builder.invalidHostNameAllowed(true);
})
.build();

MongoClient client = MongoClients.create(settings);
< /code>
Um zu versuchen, den Trust Store einzurichten, rannte ich:
keytool -import -trustcacerts -file mongodbca.pem -keystore cacerts -storepass "changeit"< /code>
Und für den Schlüsselspeicher habe ich einfach meine PEM -Datei in eine PKCS12 -Datei mit OpenSSL mit Folgendes geändert:
openssl pkcs12 -export -out mongodb.pkcs12 -in mongodbkey.pem
Was für mich so seltsam ist, ist, dass es mit allem anderen funktioniert, außer bei Java, und leider muss Java lol. Wenn Sie irgendwelche Ideen haben, wäre das großartig.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post