在CentOS 6中安装根证书

我知道它已经被问到,但是尽pipe经过了很多小时的研究,我找不到一个可行的解决scheme。 我试图在我的服务器上安装我的根证书,所以内部服务可以使用SSL相互绑定。

什么应该知道新的根CA:

  1. Apache httpd和PHP
  2. OpenLDAP客户端
  3. Node.js的

对于Apache我需要一个PHP应用程序来了解根证书,所以如果一个站点连接到另一个SSL网站(由相同的CA签名),它工作正常,它不会抱怨自签名证书。

对于OpenLDAP,我相信它和PHP一样,它使用的模块是相当老的,它是Net_LDAP2,安装了PEAR。 我尝试编辑本地openldapconfiguration,但它看起来像系统没有使用它。

最后Node.js,我用于parsoid。 node.js服务器必须信任CA才能build立良好的SSL连接。

我尝试将证书添加到/etc/pki/tls/certs/ca-bundle.crt,但成功率很低。

虽然httpd没有看到根CA,我设法使其他服务工作,如tomcat和389。

感谢您的支持。

在我的RHEL 6机器上, man 8 update-ca-trust手册页对如何pipe理系统范围的CA证书和相关的信任进行了相当广泛的解释。

更经常的是,不像上面的注释那样configuration是特定于应用程序的。

我写了一些命令行,以便新手在SSL中更容易访问:

导航到PKI文件夹

 $ cd /etc/pki/tls/certs/ 

validation(硬)链接和备份证书

 $ cp ca-bundle.crt /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem.bak $ cp ca-bundle.trust.crt /etc/pki/ca-trust/extracted/openssl/ca-bundle.trust.crt.bak 

将CA链上传到CentOS

 $ scp <cachain> root@sydapp28:/tmp 

通过SSH(Putty?)或本地连接到CentOS

 $ ssh -C root@sydapp28 

IF PKCS12 CAChain:“将您的内部CA链证书转换为PEM格式并删除标题”:

 $ cd /tmp ; openssl pkcs12 -nodes -in <cachain.pfx.p12> | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > cachain.pem 

将您的内部CA附加到CentOS

 $ cat /tmp/cachain.pem >> /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem $ cat /tmp/cachain.pem >> /etc/pki/ca-trust/extracted/pem/ca-bundle.trust.crt $ reboot