【问题标题】:Handshake failure connecting to mongodb atlas due missing public key由于缺少公钥,连接到 mongodb 地图集的握手失败
【发布时间】:2021-01-17 13:34:48
【问题描述】:

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

SSL 握手失败:从主机发送了具有 SubjectDN [CN=*.mk3fd.mongodb.net] 的签名者。 SSL 握手异常的扩展错误消息是:[PKIX 路径构建失败:
sun.security.provider.certpath.SunCertPathBuilderException: 无法找到到请求目标的有效证书路径]。

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

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

【问题讨论】:

标签: java mongodb connection public-key


【解决方案1】:

我找到了问题的答案。

使用 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 集群的连接它的工作原理就像一个魅力

【讨论】:

    猜你喜欢
    • 2022-12-28
    • 2014-12-25
    • 2015-01-04
    • 1970-01-01
    • 2021-11-14
    • 2017-08-20
    • 2017-11-08
    • 1970-01-01
    • 2015-08-10
    相关资源
    最近更新 更多