Я использовал приведенную ниже команду для добавления обоих сертификатов в хранилище ключей:
keytool -import -alias "mongodbconcat" -file "C: \ Test \ ca.cer" -keystore "% JAVA_HOME % \ jre \ lib \ security \ cacerts "-storepass" changeit "
Сертификат CA был импортирован без проблем, но при добавлении сертификата ключа я начал получать сертификат, не совместимый с X.509, поэтому я удалил все пробелы в сертификате и он был импортирован.
Мы используем проект Springboot с указанными ниже деталями URL. spring.data.mongodb.uri = mongodb: // user:password@hostserver: 12345, хост-сервер: 12345 / имя_базы? authSource = admin & maxPoolSize = 100 & ssl = true
Теперь при запуске приложения я получаю следующее исключение:
com.mongodb.MongoSocketReadException: Exception receiving message
at com.mongodb.internal.connection.InternalStreamConnection.translateReadException(InternalStreamConnection.java:543)
...
Caused by: java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:210)
...
2020-01-29 15:35:02,739 INFO [cluster-ClusterId{value='clusterId123', description='null'}-serverhost:12345] com.mongodb.diagnostics.logging.SLF4JLogger: Exception in monitor thread while connecting to server serverhost:12345
com.mongodb.MongoSocketReadException: Prematurely reached end of stream
at com.mongodb.internal.connection.SocketStream.read(SocketStream.java:92)
...