【问题标题】:SSL certificate not working while making curl request - Sectigo AddTrust External CA Root expired发出 curl 请求时 SSL 证书不起作用 - Sectigo AddTrust External CA Root 已过期
【发布时间】:2020-09-18 01:50:54
【问题描述】:

虽然我尝试打开一些域,例如 https://tracking.buyhatke.comhttps://s1.ripple.com ,但它们工作得很好,但是当我尝试从终端向这些页面发出 curl 请求时,它说证书已过期。在浏览器中,证书显示还有很长的时间到期。

curl "https://tracking.buyhatke.com"
curl "https://s1.ripple.com"

谁能指导我这里出了什么问题?它从今天开始发生,突然间

【问题讨论】:

    标签: ssl ssl-certificate tls1.2


    【解决方案1】:

    所以,这是因为颁发了根 CA 证书。这可以通过这种方式在 Ubuntu 16 上修复:-

     1. Edit /etc/ca-certificates.conf
     2. Remove mozilla/AddTrust_External_Root.crt
     3. sudo apt update && sudo apt install ca-certificates && sudo update-ca-certificates -f -v
    

    这为我解决了问题

    编辑

    添加一些有用的东西,可以帮助我们根据您的需要在客户端和服务器端修复它

    https://www.agwa.name/blog/post/fixing_the_addtrust_root_expiration

    【讨论】:

      【解决方案2】:

      我们的域名也是如此,但它们将在一年后到期。 sonarcloud.io 也是如此。所有这些域的证书链中都有一个共同的 CA,该 CA 已过期。

      openssl s_client -connect s1.ripple.com:443
      CONNECTED(00000003)
      depth=3 C = SE, O = AddTrust AB, OU = AddTrust External TTP Network, CN = AddTrust External CA Root
      verify error:num=10:certificate has expired
      notAfter=May 30 10:48:38 2020 GMT
      

      我目前正在调查如何继续进行此操作,因此我无法给您答案,只是目前失败的原因。

      【讨论】:

      【解决方案3】:

      如上所述,这是由于 AddTrust_External_Root 证书过期

      这里有一个快速详细的修复方法:

      1. 从您的系统中删除 AddTrust_External_Root.crt(通常在 /etc/ssl/certs 中找到)
      2. /etc/ca-certificates.conf 中删除或注释“mozilla/AddTrust_External_Root”行
      3. 运行 sudo update-ca-certificates (或者如果它不起作用,请尝试@Prashant Singh 提出的版本)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-11-29
        • 1970-01-01
        • 2020-09-18
        • 2020-09-20
        • 2021-11-23
        • 1970-01-01
        • 2022-06-13
        • 2021-11-23
        相关资源
        最近更新 更多