【问题标题】:Getting OpenSSL::SSL::SSLError: certificate verify failed - event with latest ca bundle [closed]获取 OpenSSL::SSL::SSLError:证书验证失败 - 带有最新 ca 捆绑包的事件 [关闭]
【发布时间】:2023-04-10 12:09:01
【问题描述】:

尝试使用 ruby​​ Mechanize 访问:https://www.goodbuyauto.it

m = Mecanize.new
m.ca_file="./cacert.pem"
m.get("https://www.goodbuyauto.it/")
#=> OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=error: certificate verify failed

PS。我从这里下载了最新的 ca 文件:https://curl.haxx.se/ca/cacert.pem

【问题讨论】:

  • 你有什么问题?

标签: ruby ssl mechanize


【解决方案1】:

这是由于目标站点设置错误导致的问题。从SSLLabs report 可以看出它缺少链证书:

此服务器的证书链不完整。等级上限为 B。

桌面浏览器通常通过使用缓存证书或从外部站点下载证书来解决此问题。但在桌面浏览器之外,这种错误配置通常会导致您看到的错误。

将缺少的链证书 (RapidSSL SHA256 CA) 添加到您的信任库可能会有所帮助。您可以从浏览器的证书视图中提取它。

【讨论】:

  • 哇哦,多么棒的答案!我使用 Firefox 提取了证书并将其添加到文件中!再次感谢! :-D
  • 嗨,再次。现在我有另一个网站似乎有同样的问题。尴尬我不记得我是如何找到并提取正确的证书以添加到受信任列表中的。你能指导我吗? auto-roeder.de
  • @NielsKristian:使用我的回答中显示的 SSLabs 来分析网站。在证书路径部分,您会找到可让您下载证书链的链接(作为图标)。
猜你喜欢
  • 2013-01-06
  • 2012-09-26
  • 2021-11-10
  • 1970-01-01
  • 1970-01-01
  • 2012-05-26
  • 2020-11-23
  • 2019-01-26
  • 1970-01-01
相关资源
最近更新 更多