繁体   English   中英

Mongodb Java驱动程序将无法通过TLS连接

[英]Mongodb Java driver won't connect via TLS

我试图通过TLS连接到我的mongoDb。 因此,我使用以下参数启动了守护程序:

mongod --sslMode requireSSL --sslPEMKeyFile <pem> --sslCAFile <ca>

我将rootCA导入到Java密钥库中,并通过Java客户端应用程序(Springboot)中的JVM Arguments对其进行设置。 我还通过JVM Argument将TLS设置为1.1版。

但是我得到以下错误:

com.mongodb.MongoTimeoutException: Timed out after 10000 ms while waiting to 
connect. Client view of cluster state is {type=Unknown, servers= 
[{address=10.0.2.103:27017, type=Unknown, state=Connecting, exception= 
{com.mongodb.MongoException$Network: Exception opening the socket}, caused 
by {javax.net.ssl.SSLHandshakeException: Remote host closed connection 
during handshake}, caused by {java.io.EOFException: SSL peer shut down 
incorrectly}}]

我的证书是使用我自己的CA签名的。

我在线阅读了有关客户端证书的内容,但是CA是否足以验证服务器具有有效的证书?

编辑:通过安装具有SSL支持的mongodb解决了该问题。 现在,我遇到了另一个问题。 我已经将我的ca.pem导入了我的信任库,并将我的client.pem导入了我的密钥库(并在我的springboot属性中进行了设置)。 但是mongodb服务器始终声明:“对等方未提供SSL证书”。 为什么会这样?

我通过安装另一个包含SSL支持的MongoDB版本解决了我的问题。 我没有的那个。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM