在 Debian 上通过 https 下载无法正常工作(openssl 配置错误?)

在 Debian 上通过 https 下载无法正常工作(openssl 配置错误?)

我在 Debian wheezy 服务器上,尝试通过 https 下载东西,但没有成功。

当我尝试使用 时curl,它通过示例给出了这个答案:

curl: (60) SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
More details here: http://curl.haxx.se/docs/sslcerts.html

wget给了我类似的东西:

ERROR: cannot verify www.domain.com’s certificate, issued by “/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert SHA2 High Assurance Server CA”:
  Unable to locally verify the issuer’s authority.

当我执行命令时,openssl s_client -showcerts -connect www.facebook.com:443我会收到答案 verify error:num=20:unable to get local issuer certificate,但是当我执行 openssl s_client -CApath /etc/ssl/certs/ -showcerts -connect www.facebook.com:443命令时,效果很好。

所以我认为有一个环境变量没有设置,因为当我设置公钥的路径时我可以执行证书检查。

我需要做什么才能修复它?

提前致谢!

答案1

您没有处理错误配置。

Wheezy 可能已经显露出它的年龄了。证书CA公有根链可能现在大部分已经过期,并且 openssl/libSSL 正在使用过时的协议。

解决这个问题最简单的方法是升级到最新的 Debian 版本,也是因为 Wheezy 是 2013 年的版本,自 2018 年 5 月 31 日起就已经停产。(或者换句话说,有些人已经在计划/测试他们很快迁移到 Debian 10而 Wheezy 则有 3 个版本,落后了 5 年)

您也可以尝试使用curl -kwget --no-check-certificate忽略证书检查,它可能会起作用。

您甚至可以尝试按照 @GAD3R 的建议更新证书(不知道它是否能解决您的问题),或者手动安装 Digicert 根 CA 证书。 (fb证书是用Digicert签名的)

然而,使用这样的 Debian 旧版本,您将会遇到其他安全问题,并且还要处理 SSL,因此,如果可以的话,您应该升级它。

相关内容