我如何信任自签名证书?

dcr*_*dev 2 redhat openssl self-signed-certificate

我已经使用 openssl 生成了一个自签名证书 - 它完全是自签名的,而不是由自签名 CA 签名的。我已成功将其导入 nss 数据库以供浏览器使用。我现在想要在全球范围内信任它,这样 wget、curl 等工具就不会烦人了。

按照其他地方的说明,我将证书复制到 /etc/pki/ca-trust/source/anchors/ ,然后运行“update-ca-trust extract”。不幸的是,这似乎只适用于 CA 证书,不适用于单个证书。我怎样才能实现我所追求的目标?我知道我可以生成一个自签名 CA 并用它签署我的证书,但我有理由不这样做。

我这样生成了我的证书:

openssl genrsa -out server.key 4096
openssl req -new -key server.key -out server.crt
openssl x509 -sha256 -req -extensions v3_req -days 3650 -in server.csr -signkey server.key -out server.crt -extfile /etc/pki/tls/openssl.cnf
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激!

Mad*_*ter 6

您希望信任单个自签名证书来识别它所使用的服务器,而不信任它作为 CA 来签署其他证书,或者启动您自己的 CA 根。

对于RedHat 6,您需要将服务器证书放入/etc/pki/tls/certs/一个文件中,该文件的名称是证书的哈希值,并.0附加.

首先将证书放入临时文件中,例如/tmp/selfie.crt. openssl x509 -noout -hash -in /tmp/selfie.crt使用;查找哈希值 为了便于论证,我们假设它是1234abcd。将证书放入 RH6 的受信任存储中cp /tmp/selfie.crt /etc/pki/tls/certs/1234abcd.0

感谢尼克·伯奇(Nick Burch)关于该主题的指南刷新了我对细节的记忆。

尽管现在您可以每年花费 9 美元获得公开签名的证书,但即使不是更少,也开始变得比这样做更麻烦。