信任自签名证书 CentOS 7

问题描述 投票:0回答:3

我正在为开发服务器生成自签名证书,但我需要信任它才能使用一些将使用该证书的工具。

这是我尝试过的:

openssl req -newkey rsa:2048 -x509 -nodes -keyout /etc/ssl/private/server.key -new -out /etc/ssl/certs/server.crt -reqexts v3_req -extensions v3_req -config /vagrant/openssl.san.conf -sha256 -days 1825

ln --symbolic /etc/ssl/certs/server.crt /etc/pki/ca-trust/source/anchors/server.crt

update-ca-trust extract

运行 update-ca-trust 命令后,我尝试在

ca-bundle.crt
文件中查找
server.crt
的内容,但它不存在。

我也尝试过复制文件而不是创建符号链接,但这也不起作用。

证书已正确创建并且适用于 Apache,但它会产生自签名错误:

[vagrant@localhost certs]$ curl --head https://localhost/
curl: (60) Issuer certificate is invalid.
More details here: http://curl.haxx.se/docs/sslcerts.html

如何在服务器的命令行上信任我的自签名证书?

certificate ssl-certificate centos7 self-signed ca
3个回答
3
投票

您的问题是

update-ca-trust
仅接受标记为CA的证书。有一个名为“Basic Constraints”的 X.509 扩展,用于标记证书是否属于 CA。 update-ca-trust 默默地跳过那些未标记为 CA 的内容。 检查您的证书是否有 CA 限制:
openssl x509 -noout -text -in <cert_file> | grep "CA:TRUE"

可以使用

OpenSSL 配置
来设置 
CA:TRUE

    
我只需发出以下命令并在“通用名称”部分填写我的私有 DNS 名称。


1
投票

执行以下命令后,自签名证书将被信任。

cp ca.crt /etc/pki/ca-trust/source/anchors/
update-ca-trust extract

我通过更新 
ca-bundle.crt

0
投票

cp ~/my-self-signed-cert.crt /etc/pki/ca-trust/source/anchors/ cat /etc/pki/ca-trust/source/anchors/my-self-signed-cert.crt >> /etc/pki/tls/certs/ca-bundle.crt curl https://<my_website.com>

之后就可以了。

	

© www.soinside.com 2019 - 2024. All rights reserved.