Ошибка Java при подключении docummentdb (mongo) с использованием SSL (jks + truststore) - docker-compose

У меня есть среда Java (SpringBoot), работающая на docker-compose, где я развертываю на ec2 (aws). Я настроил свою базу данных в Docummentdb (aws), она уже работает в лямбда-режиме и обычно подключается с использованием SSL-соединения (JKS-TrustStore), однако при попытке подключения с использованием контейнера ec2 отображаются следующие ошибки:

2020-10-13 00: 28: 11.534 ИНФОРМАЦИЯ 6 --- [onaws.com:27017] org.mongodb.driver.cluster: исключение в потоке монитора при подключении к серверу CONNECTION.us-east-1.docdb.amazonaws. com: 27017

Те же файлы, которые использовались в тестовом лямбда-соединении, также используются в основном соединении моего приложения, даже после передачи полного пути к файлу .jks ошибка сохраняется.

попробуйте отладить с помощью -Djavax.net.debug = ssl, handshake, у вас будет дополнительная информация.


person maistack123    schedule 13.10.2020    source источник
comment
com.mongodb.MongoSocketWriteException: исключение, отправляющее сообщение на com.mongodb.internal.connection.InternalStreamConnection.translateWriteException (InternalStreamConnection.java:551) ~ [mongo-java-driver-3.12.7.jar! /: na] на com.mongodb .internal.connection.InternalStreamConnection.sendMessage (InternalStreamConnection.java:433) ~ [mongo-java-driver-3.12.7.jar! /: na] в com.mongodb.internal.connection.InternalStreamConnection.sendCommandMessage (InternalStreamConnection.java: 273) ~ [mongo-java-driver-3.12.7.jar! /: Na] в com.mongodb.internal.connection.InternalStreamConnection.sendAndReceive (InternalStreamConnection.java:257) ~ [mongo-java-driver-3.12.7 .jar! /: na] в com.mongodb.internal.connection.CommandHelper.sendAndReceive (CommandHelper.java:83) ~ [mongo-java-driver-3.12.7.jar! /: na] в com.mongodb.internal .connection.CommandHelper.executeCommand (CommandHelper.java:33) ~ [mongo-java-driver-3.12.7.jar! /: na] в com.mongodb.internal.connection.InternalStreamConnectionInitializer.initializeC onnectionDescription (InternalStreamConnectionInitializer.java:105) ~ [mongo-java-driver-3.12.7.jar! /: na] на com.mongodb.internal.connection.InternalStreamConnectionInitializer.initialize (InternalStreamConnectionInitializer.java:62) ~ [mongodb.internal.connection.InternalStreamConnectionInitializer.initialize (InternalStreamConnectionInitializer.java:62) ~ [mongo-java-driver-3.12.7.jar! /: na] -driver-3.12.7.jar! /: na] в com.mongodb.internal.connection.InternalStreamConnection.open (InternalStreamConnection.java:129) ~ [mongo-java-driver-3.12.7.jar! /: na] в com.mongodb.internal.connection.DefaultServerMonitor $ ServerMonitorRunnable.run (DefaultServerMonitor.java:117) ~ [mongo-java-driver-3.12.7.jar! /: na] в java.base / java.lang.Thread. run (Thread.java:834) ~ [na: na] Вызвано: javax.net.ssl.SSLHandshakeException: сбой построения пути PKIX: sun.security.provider.certpath.SunCertPathBuilderException: невозможно найти действительный путь сертификации для запрошенной цели в java.base / sun.security.ssl.Alert.createSSLException (Alert.java:131) ~ [na: na] в java.base / sun.security.ssl.TransportContext.fatal (TransportContext.java:320) ~ [na : na] на java.bas e / sun.security.ssl.TransportContext.fatal (TransportContext.java:263) ~ [na: na] в java.base / sun.security.ssl.TransportContext.fatal (TransportContext.java:258) ~ [na: na ] в java.base / sun.security.ssl.CertificateMessage $ T12CertificateConsumer.checkServerCerts (CertificateMessage.java:645) ~ [na: na] в java.base / sun.security.ssl.CertificateMessage $ T12CertificateConsumer.CertificateConsumer.on : 464) ~ [na: na] в java.base / sun.security.ssl.CertificateMessage $ T12CertificateConsumer.consume (CertificateMessage.java:360) ~ [na: na] в java.base / sun.security.ssl. SSLHandshake.consume (SSLHandshake.java:392) ~ [na: na] в java.base / sun.security.ssl.HandshakeContext.dispatch (HandshakeContext.java:443) ~ [na: na] в java.base / sun. security.ssl.HandshakeContext.dispatch (HandshakeContext.java:421) ~ [na: na] в java.base / sun.security.ssl.TransportContext.dispatch (TransportContext.java:177) ~ [na: na] в java. base / sun.security.ssl.SSLTransport.decode (SSLTransport.java:164) ~ [na: na] в java.base / sun.security.ssl.SSLSocketImpl.decode (SSLSocketImpl.java:1151) ~ [na: na ] в java.base / sun.security.ssl.SSLSocketImpl.readHandshakeRecord (SSLSocketImpl.java:1062) ~ [na: na] в java.base / sun.security.ssl.SSLSocketImpl.startHandshake (SSLSocketImpl.java:402) [na: na] в java.base / sun.security.ssl.SSLSocketImpl.ensureNegotiated (SSLSocketImpl.java:716) ~ [na: na] в java.base / sun.security.ssl.SSLSocketImpl $ AppOutputStream.write (SSLSocketImpl .java: 969) ~ [na: na] в com.mongodb.internal.connection.SocketStream.write (SocketStream.java:99) ~ [mongo-java-driver-3.12.7.jar! /: na ] at com.mongodb.internal.connection.InternalStreamConnection.sendMessage (InternalStreamConnection.java:430) ~ [mongo-java-driver-3.12.7.jar! /: na] ... 9 общих кадров пропущены Причина: sun. security.validator.ValidatorException: сбой построения пути PKIX: sun.security.provider.certpath.SunCertPathBuilderException: невозможно найти действительный путь сертификации для запрошенной цели в java.base / sun.security.validator.PKIXValidator.doBuild (PKIXValidator.java:439 ) ~ [na: na] в java.base / sun.security.validator.PKIXValidator.engineValidate (PKIXValidator.java:306) ~ [na: na] в java.base / sun.security.validator.Validator.validate (Validator .java: 264) ~ [na: na] в java.base / sun.security.ssl.X509TrustManagerImpl.validate (X509TrustManagerImpl.java:313) ~ [na: na] в java.base / sun.security.ssl.X509TrustManagerImpl .checkTrusted (X509TrustManagerImpl.java:222) ~ [na: na] в java.base / sun.security.ssl.X509TrustManagerImpl.checkServerTrusted (X509TrustManagerImpl.java:129) ~ [na: na] в java.security . ssl.CertificateMessage $ T12CertificateConsumer.checkServerCerts (CertificateMessage.java:629) ~ [na: na] ... 23 общих кадра пропущены Причина: sun.security.provider.certpath.SunCertPathBuilderException: невозможно найти действительный путь сертификации для запрошенной цели в java.base / sun.security.provider.certpath.SunCertPathBuilder.build (SunCertPathBuilder.java:141) ~ [na: na] в java.base / sun.security.provider.certpath.SunCertPathBuilder.engineBuild (SunCertPathava: ) ~ [na: na] в java.base / java.security.cert. CertPathBuilder.build (CertPathBuilder.java:297) ~ [na: na] в java.base / sun.security.validator.PKIXValidator.doBuild (PKIXValidator.java:434) ~ [na: na] ... 29 общих фреймов опущены   -  person maistack123    schedule 13.10.2020


Ответы (1)


Проверить цепочку сертификатов, может быть, проверка контейнера ec2 более строгая?

Какая настройка параметра keystore.type в файлах lambda и ec2 java.security?

вверх, ребята, можете мне помочь?

person jcamsler    schedule 19.10.2020