各内部系统连接 ldaps 而导入可信根证书的操作步骤
前言
由于使用了自签署证书,如果系统间连接需要使用 ssl ,难免会产生证书是否可信的问题。内部系统中主要是使用了 ldaps
进行账号验证,因此需要指明可信根证书的位置。
1. dokuwiki (PHP)
dokuwiki 属于 php 应用,连接 ldap 主要使用了 php 的 adLDAP 扩展。
该扩展没有自己的配置文件,大部分配置信息通过参数传入。 而证书的配置未在参数中。
经过查询,其使用了系统 ldap 的相关配置进行 ldap 连接。 因此可以修改文件 /etc/ldap/ldap.conf ,达到为 php 应用设置可信证书的目的
sudo vi /etc/ldap/ldap.conf #修改该文件里的如下内容,使其指向自己的根证书: TLS_CACERT /etc/ssl/certs/my_ca.crt
2. jira (JAVA)
jira 主要使用了 java 进行编写,因此可信证书的导入需要用到 keytool 工具。用法介绍: JAVA 导入信任证书 (Keytool 的使用)
jira 的 keystore 文件路径为:
/opt/atlassian/jira/jre/lib/security/cacerts
3. gitlab
gitlab 高度集成,通过单一配置文件完成大量工作。
经过摸索,发现可直接把证书文件放到 /etc/gitlab/trusted-certs/ 目录中,然后执行
sudo gitlab-ctl reconfigure
更新配置,系统会自动识别证书文件,并创建链接到 /opt/gitlab/embedded/ssl/certs/ 目录中。
参考: https://docs.gitlab.com/omnibus/settings/ssl.html
验证 ldap 是否可用,可以使用以下命令进行检查:
sudo gitlab-rake gitlab:ldap:check
4. 把证书导入到系统的 ca-certificates 中
sudo cp ./MY_CA.crt /usr/local/share/ca-certificates/ sudo update-ca-certificates