由于缺少公钥,连接mongodb atlas握手失败



我尝试连接到mongodb atlas与我的java客户端。连接没有成功,因为存在SSL错误。在日志文件中出现以下文本:

SSL HANDSHAKE FAILURE: A signer with SubjectDN [CN=*.mk3fd.mongodb.net]从主机发送。来自SSL握手异常的扩展错误消息是:[PKIX路径构建失败:
sun.security.provider.certpath。[/p].

是否有可能从mk3fd.mongodb.net连接下载公钥以将其添加到我的java密钥库中,或者是否有另一种解决方案从java连接到mongod atlas?

nb。使用MongoDB Compass连接到MongoDB Atlas工作正常。

我找到了问题的答案。

使用openssl你可以得到所有的密钥。我使用了下面两个命令,收到了三个不同的证书

openssl s_client -showcerts -servername mydatabase_shard.mk3fd.mongodb.net:27017 -connect mydatabase_shard.mk3fd.mongodb.net:27017 < /dev/null

openssl s_client -connect mydatabase_shard.mk3fd.mongodb.net:27017 < /dev/null

检索到的三个证书放在jks密钥存储库中。这个密钥存储库用于获取到共享MongoDB集群的连接,它的工作原理就像一个魅力

最新更新