因此,我为自己的目的创建了自己的 CA(在我的网络内部等),并且我知道该设置有效(我可以直接将密钥导入应用程序,然后它们就可以使用该密钥连接到服务器)。
但是!当我尝试导入 CA 证书以便所有应用程序都可以使用它时,它们却不能(firefox 和 chromium)
我有
将 cacert.pem 放在 /etc/ssl/certs 中,然后运行 update-ca-certificates 和 dpkg-reconfigure ca-certificates
直接将证书放入 ca-certificates.crt 文件中(因为尽管有先前的命令,但它并没有被放在那里)
我困惑了。
信息:
Ubuntu 桌面,12.04 x64
猫cacert.pem
-----BEGIN CERTIFICATE-----
MIIDCDCCAnG--snip--8guKJUzT
-----END CERTIFICATE-----
openssl x509 -in cacert.pem -noout -文本
Certificate:
Data:
Version: 3 (0x2)
Serial Number: 1xxxxxxxxxxxxxxxxxx3 (0xXXXXXXXXXXXXXX9)
Signature Algorithm: sha1WithRSAEncryption
Issuer: C=AU, ST=Western Australia, L=xx, O=xx, OU=Webmasters, CN=haven/emailAddress=xx
Validity
Not Before: Dec 8 11:47:37 2012 GMT
Not After : Dec 6 11:47:37 2022 GMT
Subject: C=AU, ST=Western Australia, L=xx, O=xx, OU=Webmasters, CN=haven/emailAddress=xx
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (1024 bit)
Modulus:
00:xx:5b
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Subject Key Identifier:
38:xx:95
X509v3 Authority Key Identifier:
keyid:38:xx:95
X509v3 Basic Constraints:
CA:TRUE
Signature Algorithm: sha1WithRSAEncryption
7b:xx:d3
提前致谢!
答案1
尝试将您的证书放在 /usr/share/ca-certificates 中
然后修改 /etc/ca-certificates.conf 以包含对新证书的引用。
然后运行
update-ca-certificates
更新:
因此,对此进行了进一步的挖掘。看来 Firefox 不遵守 /etc/ssl/certs 数据库。已找到这- 它已经很古老了,但我相信它仍然如此。
据我所知,每个用户都有自己的证书数据库,保存在配置文件目录中的 cert8.db 文件中。可以直接使用 Firefox 更新该数据库(他们想要执行此命令行的原因是什么?) - 但显然每个用户都必须执行此操作。或者,还有一种命令行方式可以执行此操作,请参阅这里和这里。您可以编写一个脚本来遍历每个用户配置文件目录来执行此操作(真恶心!)。据我所知,这似乎不是对所有用户执行此操作的“好”方法。