将自定义的证书权限添加到Ubuntu

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

我试图通过将PEM编码的CA证书复制到/ etc / ssl / certs /和/ usr / share / ca-certificates /以及通过修改/etc/ca-certificates.conf并重新运行update- CA证书,但是应用程序似乎并不认识到我已经为系统添加了另一个可信的CA.

因此,是否可以向系统添加一次CA证书,或者是否需要手动将CA添加到所有可能的应用程序中,这些应用程序将尝试与我的networking中由此CA签名的主机build立SSL连接? 如果可以向系统添加一次CA证书,那么它需要去哪里?

谢谢。

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

甚至没有Firefox和Thunderbird共享证书。

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

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

可悲的是,像firefox和thunderbird这样的程序使用自己的数据库。

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

以及你可以设置一个默认的cert8.db文件,所以新的configuration文件也会得到它。

对于其他应用程序,如果他们支持中央存储或不。

您指定的方法将更新中央/etc/ssl/certs/ca-certificates.crt。 但是,您会发现大多数应用程序未configuration为使用此文件。 大多数应用程序可以configuration为指向中央文件。 有没有自动的方式使一切使用这个文件没有重新configuration它们。

在Ubuntu / Debian中默认使用这个文件是值得的。

您可以在ubuntu和其他发行版中添加自定义的PKI CA:在这里您可以find有价值的链接: Linux Cert Management