如果我试图访问具有debian 9颁发的证书的HTTPS服务器,则会得到以下错误:
# curl -v https://hu.dbpedia.org/
* Trying 195.111.2.82...
* TCP_NODELAY set
* Connected to hu.dbpedia.org (195.111.2.82) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
* successfully set certificate verify locations:
* CAfile: /etc/ssl/certs/ca-certificates.crt
CApath: /etc/ssl/certs
* TLSv1.2 (OUT), TLS header, Certificate Status (22):
* TLSv1.2 (OUT), TLS handshake, Client hello (1):
* TLSv1.2 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (OUT), TLS alert, Server hello (2):
* SSL certificate problem: certificate has expired
* Curl_http_done: called premature == 1
* stopped the pause stream!
* Closing connection 0
curl: (60) SSL certificate problem: certificate has expired但是,如果我尝试使用debian 10中的相同命令,它就会成功。
我尝试使用rsync简单地将所有ca证书从debian 10 VM复制到debian 9 VM (到/usr/local/share/ca证书),然后运行update-ca-certificates,它似乎添加了400+证书。不幸的是,这并没有帮助。这并不奇怪,因为很明显,debian 9和10上都有相同的证书。
My问题是:我如何从Debian9机器访问带有certbot证书的站点,<#>without完全忽略了证书验证。
发布于 2021-09-30 17:10:06
首先,Debian 9是EOL。但是,由于客户可能不在你的控制之下,你当然想在这一次的破坏中满足他们的需要。
我猜想,虽然这个问题只提到了certbot,但它确实是关于Letsencrypt的。(工具certbot本身是一个ACME协议客户端,它也与其他基于ACME的CA一起使用,因此这里有一些混淆的空间。)
眼前的问题似乎是以下两者的结合:
如果您提供了新的LE证书链,它不尝试额外兼容,只以新根(X1)结束,它允许libssl1.0工作(但这样就失去了与真正旧的Android的兼容性)。
除此之外,其他CA (ACME或其他方面)可能是需要考虑的选择。
发布于 2021-09-30 19:48:17
警告!请规划OS升级路径。以下建议应仅适用于紧急情况,以迅速修复一个关键的系统。
下面的解决方案工作在Debian杰西8和应该在拉伸9缺失的更新。我刚在docker run -it debian:jessie bash,apt-get update && apt-get install curl上测试过。
在此之前:
# curl -I https://hu.dbpedia.org
curl: (60) SSL certificate problem: certificate has expired
More details here: http://curl.haxx.se/docs/sslcerts.html
....首先检查是否存在冒犯DST根CA X3证书:
# grep X3 /etc/ca-certificates.conf
mozilla/DST_Root_CA_X3.crt旧的Debian版本也提供了适当的ISRG X1:
# grep X1 /etc/ca-certificates.conf
mozilla/ISRG_Root_X1.crt这将禁用X3:
# sed -i '/^mozilla\/DST_Root_CA_X3/s/^/!/' /etc/ca-certificates.conf && update-ca-certificates -f您的域响应卷曲良好:
# curl -I https://hu.dbpedia.org/
HTTP/1.1 200 OK
...再一次,请计划升级。
发布于 2021-09-30 21:32:59
DST根CA X3根证书于9月30日14:01:15 2021格林尼治时间到期。它被用作证书的认证路径之一,让我们对证书进行加密,旧版本的cURL版本有一个错误,它将导致过期的根连接失败,而不是尝试本地ca存储中的其他根。
截至2021年9月30日,curl存储库(https://curl.se/docs/caextract.html)仍然包含过期的DST X3根证书,因此更新它不会修复问题。您可以更新您的cURL (在某些情况下这可能很有挑战性)或编辑本地ca存储(f.e。/etc/pki/tls/certs/ CA -bundle.crt),并在"DST根CA X3“行后面手动删除证书
https://serverfault.com/questions/1079199
复制相似问题