SSL 无证书

SSL 无证书

我正在尝试制作一个 bash 脚本,该脚本将检查我的网站客户端的 SSL 状态并返回错误。但对于每个 IP,wget https://$ip:$port都会出现以下错误:

ERROR: The certificate of 1.2.3.4 is not trusted
ERROR: The certificate of 1.2.3.4 hasn't got a know issuer

当我尝试使用 Firefox 时,我拥有每个 IP 的证书。所以我尝试将 Firefox CA 转储到如下存储库:

wget http://$ip:$port --ca-directory=(directory of CA from Firefox)

但这并没有改变任何事情。

我想,wget没有找到 SSL 证书,而且我不知道如何获取它们。

如何获取证书信息?

答案1

通常,SSL 证书颁发给主机名(例如www.example.com,而不是 IP 地址)。
因此,当您使用 IP 地址时,您访问的 URL 与颁发证书的主机名之间会不匹配。

其次,Firefox 中的 CA 目录可能不适合,因为根据 wget 手册页要求:

--ca-directory=目录指定包含 PEM 格式的 CA 证书的目录。每个文件包含一个 CA 证书,文件名基于从证书派生的哈希值。 ...

我认为 wget 使用 openssl 库,可能使其成为一个更详细的实用程序来检查证书状态,例如在查询中确定 SSL 证书的到期日期:

 echo "GET /" | openssl s_client -connect servername:port  | openssl x509 -noout -dates

相关内容