SSL şifrelemesiyle MongoDB'nin son sürümünü kurmaya çalışıyorum, mongo kabuğundan bağlanabildim ama Java'dan bağlandığımda hata alıyorum Müşteri.JAVA'dan Mongo'ya bağlanılamıyor. Çoğaltma Seti
İşleri
Mongo yönetici --host mongo1.xxxx.com --ssl --sslPEMKeyFile mongoClient.pem --sslCAFile mongoCA.crt
Çalışmaz
public static void main(String args[]){
System.setProperty("javax.net.ssl.trustStore","/home/gasparms/truststore.ts");
System.setProperty("javax.net.ssl.trustStorePassword", "mypasswd");
System.setProperty("javax.net.ssl.keyStore", "/home/gasparms/truststore.ts");
System.setProperty("javax.net.ssl.keyStorePassword", "mypasswd");
System.setProperty("javax.security.auth.useSubjectCredsOnly","false");
MongoClientOptions options = MongoClientOptions.builder().sslEnabled(true)
.build();
MongoClient mongoClient = new MongoClient("mongo1.xxxx.com",options);
System.out.println(mongoClient.getDatabaseNames());
}
:Ben Mongo taraftan bu hatayı alıyorum 210
2015-06-09T15: 08: 14.431ZI AĞ [initandlisten] bağlantı kabul edildi 192.168.33.1:38944 # 585 (3 şimdi yeni bağlantı) 2015-06-09T15: 08: 14.445ZE AĞ [conn585] SSL eş tarafından sağlanan sertifikası; bağlantı reddedildi 2015-06-09T15: 08: 14.445ZI AĞ [conn585] uç bağlantısı 192.168.33.1:38944 (2 bağlantı şimdi açık) 2015-06-09T15: 08: 14.828ZI AĞ [conn580] uç bağlantısı 192.168. 33.13: 39240 (1 bağlantı şimdi açık)
ve java istemci programında
informacion: monitör İş parçacığı sunucusuna mongo1.xxxx.com:27017 com.mongodb.MongoSocketReadException bağlanırken: com.mongodb.connection.So adresindeki akışın sonuna kadar ulaşılamadı. de cketStream.read com.mongodb.connection.InternalStreamConnection.receiveMessage (InternalStreamConnection.java:221) en com.mongodb.connection.InternalStreamConnection.receiveResponseBuffers (InternalStreamConnection.java:491) de (SocketStream.java:88) com.mongodb.connection.CommandHelper.receiveReply com.mongodb.connection.CommandHelper.executeCommand de com.mongodb.connection.CommandHelper.receiveCommandResult (CommandHelper.java:121) 'den (CommandHelper.java:134) (CommandHelper. java: 32) com.mongodb.connection.InternalStreamConnectionInitializer.initializeConnectionDescription (InternalStreamConnectionInitializer.java:83) com.mongodb.connection.DefaultServerMonitor $ ServerMonitorRunnable de com.mongodb.connection.InternalStreamConnectionInitializer.initialize com.mongodb.connection.InternalStreamConnection.open (InternalStreamConnection.java:115) 'den (InternalStreamConnectionInitializer.java:43) dejava.lang.Thread.run de .run (DefaultServerMonitor.java:127) (Thread.java:745) Belgelerinin
Oluşturma
Ben mongoCA.crt ve mongoClient.pem bu w Mongo kabuğu ile orks. Sonra, ben .PEM ithal ve ben yanlış yapıyorum ne java keystore'da
openssl x509 -outform der -in certificate.pem -out certificate.der
keytool -import -alias MongoDB-Client -file certificate.der -keystore truststore.ts -noprompt -storepass "mypasswd"
keytool -import -alias "MongoDB-CA" -file mongoCA.crt -keystore truststore.ts -noprompt -storepass "mypasswd"
için .crt istiyor?
Sunucunun ssl etkin olarak çalıştığından emin misiniz? Doğrulamak için herhangi bir ssl config (cli/shell ve java sürücüsü aracılığıyla) bağlanmayı deneyin. – evanchooly
Evet, mongo admin --host mongo1.xxxx.com --ssl --sslPEMKeyFile mongoClient.pem --sslCAFile mongoCA.crt çalışır ama mongo admin - mongo1.xxxx.com yöneticisi değil. Log, – gasparms
Tam olarak benim sorunumu bağlamak mümkün olmadığını söylüyor. Bir çözüm buldun mu? – Nishant