无法验证第一个证书

无法验证第一个证书

我使用 openssl 在 ubuntu gnome 16.04 上创建自签名 CA 证书,并使用该 CA 证书为 postfix 和 httpd 签名证书,但在使用 tls 连接 postfix 时,命令为:

openssl s_client -connect xiedeacc.com:587 -starttls smtp

它会抱怨

并返回:

verify error:num=21:unable to verify the first certificate
Verify return code: 21 (unable to verify the first certificate)

但当将命令更改为

openssl s_client -connect xiedeacc.com:587 -starttls smtp -CAfile /etc/ssl/certs/xiedeaccca.crt

输出结果一切正常,没有问题,所以我猜是 openssl s_client 找不到这个自签名 CA,但是我手动将其导入 chrome 证书根列表后,chrome 可以访问这个 CA 签名的网站。那么,如何将其导入 Ubuntu 的证书根列表而不仅仅是 Chrome 的根证书列表?Ubuntu 是否像 Windows 一样存储 CA 证书? 在此处输入图片描述

答案1

要将您的自签名 CA 导入到 Ubuntu 的证书根列表,您必须配置ca-certificates


首先,创建一个名为/usr/share/ca-certificates/extra

sudo mkdir /usr/share/ca-certificates/extra`

然后,将您的 CA 证书复制到目录:

sudo cp /etc/ssl/certs/xiedeaccca.crt /usr/share/ca-certificates/extra/xiedeaccca.crt

最后,重新配置ca-certificates

sudo dpkg-reconfigure ca-certificates

按下Space选择您的自签名 CA 证书,然后您就完成了。


相关内容