【问题标题】:MongoDB error "SSL peer certificate revocation status checking failed: Could not verify X509 certificate store for OCSP Stapling"MongoDB 错误“SSL 对等证书吊销状态检查失败:无法验证 OCSP 装订的 X509 证书存储”
【发布时间】:2023-02-04 14:22:03
【问题描述】:

我有一个连接到不同服务器上的 MongoDB(版本 4.4.18)的项目。 MongoDB 服务器有一个 TLS 证书,项目服务器没有为这个连接提供一个。

使用的连接字符串是 mongodb://user:password@mongo.server.com:27017/database3?tls=true

这已经工作多年,但自 1 月底以来,MongoDB 拒绝传入连接并显示错误消息 SSL peer certificate revocation status checking failed: Could not verify X509 certificate store for OCSP Stapling

这似乎没有意义,因为项目服务器甚至不提供证书。我什至尝试将 tlsInsecure 添加到连接字符串,但没有成功。

更新: 客户端是 MongoDB NodeDriver,错误消息在数据库服务器上的 mongod 上。

我在没有解决问题的情况下所做的事情:

  • 我手动检查了数据库服务器证书的 OCSP 响应,结果“良好”
  • 我撤销了证书并颁发了新证书
  • 我在连接字符串中添加了选项tlsAllowInvalidCertificates=true

【问题讨论】:

  • @SteffenUllrich 该声明似乎是正确的。 MongoDB 服务器提供了一个服务器证书给客户。客户端可以通过参数tls=true使用(即验证)此服务器证书或忽略它(除非服务器参数net.tls.mode设置为requireTLS)。这独立于提供客户证书。

标签: node.js mongodb ssl tls1.3


【解决方案1】:

看起来您的服务器证书已被您的 OCSP 服务器吊销。检查您的服务器证书,您可能需要更新它。您可以使用 openssl 验证证书,例如参见OpenSSL: Manually verify a certificate against an OCSP

mongod/mongos 上,您可以使用服务器参数 ocspEnabled 禁用 OCSP

你没有告诉我们,你使用哪个客户端,mongosh documentation 说:

使用系统 SSL 证书存储时,OCSP(在线证书状态协议)用于验证证书的吊销状态。

所以,也许它对你的情况也有效。看起来,当您使用参数 --tlsCAFile <filename> 或在 connectionString 中显式定义 CA 文件时

mongodb://user:password@mongo.server.com:27017/database3?tls=true&tlsCAFile=<filename>

然后不使用 OCSP。这就是我对上述声明的理解。

当然,您可以使用选项--tlsAllowInvalidCertificates

mongodb://user:password@mongo.server.com:27017/database3?tls=true&tlsAllowInvalidCertificates=true

但也许这不是最安全的解决方案。请注意,对于无效的服务器证书,连接仍由 TLS/SSL 加密,只是不再验证/保证服务器的身份。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-03-31
    • 1970-01-01
    • 2012-02-22
    • 2016-11-13
    • 1970-01-01
    • 2012-03-25
    • 2018-01-15
    • 1970-01-01
    相关资源
    最近更新 更多