向Ubuntu添加自定义证书颁发机构


12

我为内部网络example.com创建了自定义根证书颁发机构。理想情况下,我希望能够将与此证书颁发机构关联的CA证书部署到我的Linux客户端(运行Ubuntu 9.04和CentOS 5.3),以使所有应用程序自动识别证书颁发机构(即,我不想拥有以手动配置Firefox,Thunderbird等以信任此证书颁发机构)。

我在Ubuntu上尝试通过将PEM编码的CA证书复制到/ etc / ssl / certs /和/ usr / share / ca-certificates /,以及修改/etc/ca-certificates.conf并重新运行update-来尝试此操作ca证书,但是应用程序似乎无法识别我已向系统添加了另一个受信任的CA。

因此,是否可以一次将CA证书添加到系统,还是有必要手动将CA添加到所有可能尝试与该CA在我的网络中签名的主机建立SSL连接的应用程序中?如果可以一次向系统添加一个CA证书,那么它需要去哪里?

谢谢。

Answers:


4

简而言之:您需要自己更新每个应用程序

甚至Firefox和Thunderbird都不共享证书。

不幸的是,Linux没有中央位置来存储/管理SSL证书。Windows确实有这样的位置,但最终您会遇到相同的问题(Firefox / Thunderbird不会使用Windows提供的API来确定SSL证书的有效性)

我会在每个主机上使用puppet / cfengine之类的东西,并使用这些工具提供的机制在所有客户端上放置所需的根证书。


2

可悲的是,诸如Firefox和Thunderbird之类的程序使用它们自己的数据库。

但是,您可以编写脚本来查找所有概要文件,然后添加证书。这是添加证书的工具:http : //www.mozilla.org/projects/security/pki/nss/tools/certutil.html

同样,您可以设置默认的cert8.db文件,因此新的配置文件也可以获取它。

对于其他应用程序,则取决于它们是否支持中央存储。


1

您指定的方法将更新中央/etc/ssl/certs/ca-certificates.crt。但是,您会发现大多数应用程序未配置为使用此文件。可以将大多数应用程序配置为指向中央文件。没有自动的方法可以使所有人都使用此文件而不重新配置它们。

最好在Ubuntu / Debian中使用Bug来默认使用此文件。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.