FreeBSD wget无法验证由Lets Encrypt颁发的证书

时间:2020-01-09 10:38:42  来源:igfitidea点击:

在FreeBSD上每当我使用wget命令从Internet下载内容时,都会显示:

ERROR: cannot verify download.freebsd.orgs certificate, issued by CN=Let\s Encrypt Authority X3,O=Let\s Encrypt,C=US:

如何在FreeBSD 12上解决此问题?

说明:wget的默认设置是根据公认的证书颁发机构验证服务器证书。
此错误表明wget无法在本地找到根证书。
您必须在FreeBSD服务器上安装根证书。
没有根证书,所有命令和软件(例如Firefox)都将失败。

FreeBSD带有ca_root_nss软件包。
它包括来自Mozilla Project的根证书捆绑包。
您所要做的就是安装ca_root_nss软件包来摆脱此问题。

如何查找有关ca_root_nss软件包的信息

与grep命令一起运行以下pkg命令以进行搜索:

# pkg search ca | grep root

输出示例:

R-cran-urca-1.3.0_2            Unit root and cointegration tests for time series data
ca_root_nss-3.41               Root certificate bundle from the Mozilla Project
p5-CACertOrg-CA-20110724.005   CACert.org CA root certificate in PEM format

因此,如果运行wget,则可能会收到如下错误:

$ wget https://download.freebsd.org/ftp/releases/amd64/12.0-RELEASE/base.txz

错误:无法验证由CN = Let \ s加密机构X3颁发的download.freebsd.orgs证书,O = Let \ s加密,C = US :

FreeBSD wget无法验证证书颁发机构

现在我们知道了包名。
让我们安装它:

# pkg install ca_root_nss

安装ca_root_nss软件包以从FreeBSD上的Mozilla项目获取根证书捆绑包

捆绑在FreeBSD上的/etc/ssl和/usr/local/openssl /目录中的CA根证书。

测试一下

再次运行wget命令,它应该可以正常工作:

$ wget https://download.freebsd.org/ftp/releases/amd64/12.0-RELEASE/base.txz

输出示例:

--2016-12-17 15:32:38--  https://download.freebsd.org/ftp/releases/amd64/12.0-RELEASE/base.txz
Resolving download.freebsd.org (download.freebsd.org)... 149.20.1.200, 2001:4f8:1:11::15:0
Connecting to download.freebsd.org (download.freebsd.org)|149.20.1.200|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 154325028 (147M) [application/octet-stream]
Saving to: 'base.txz'
 
base.txz                  100%[=====================================>] 147.18M  46.5MB/s    in 3.8s    
 
2016-12-17 15:32:42 (38.6 MB/s) - 'base.txz' saved [154325028/154325028]

关于免签证明的说明

如果您无法安装ca_root_nss软件包,请将--no-check-certificate传递给wget命令。
这意味着wget不会对照可用的证书颁发机构检查服务器证书。
而且wget不需要URL主机名来匹配证书提供的公用名:

$ wget --no-check-certificate https://url
$ wget --no-check-certificate https://www.theitroad.local/