在 CentOS 6 中安装根证书

在 CentOS 6 中安装根证书

我知道这个问题已经被问过了,但尽管研究了好几个小时,我还是找不到可行的解决方案。我正在尝试在我的服务器中安装根证书,以便内部服务可以使用 SSL 相互绑定。

关于新的根 CA,您应该了解的内容:

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

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

对于 OpenLDAP,我相信它与 PHP 相同,它使用的模块相当老旧,它是 Net_LDAP2,与 PEAR 一起安装。我尝试编辑本地 openldap 配置,但看起来系统没有使用它。

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

我尝试将证书添加到 /etc/pki/tls/certs/ca-bundle.crt,但收效甚微。

虽然 httpd 看不到根 CA,但我设法让其他服务与其一起工作,如 tomcat 和 389。

感谢您的支持。

答案1

在我的 RHEL 6 盒子上,man 8 update-ca-trust手册页对如何/应该管理系统范围的 CA 证书和相关信任进行了相当详尽的解释。

正如上面的评论表明的那样,配置通常是特定于应用程序的。

答案2

我编写了一些命令行,以便 SSL 新手更容易理解:

导航到 PKI 文件夹

$ cd /etc/pki/tls/certs/
 

验证(硬)链接和备份证书

$ 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
 

如果 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

相关内容