群晖DSM7添加私有CA根信任证书

首先说明以下两个方案不可行:

  1. 在Web界面中无法通过上传证书和中间证书的方式添加信任的CA证书
  2. 直接在/etc/ssl/certs文件夹中做出的修改在执行更新脚本后会失效

正确的方式是上传可信根证书到指定文件夹后使用脚本更新全局所有CA信任证书。此时上传的可以是个人自签名的CA证书,用于验证自签名的服务端证书。

Step1:上传CA文件到群晖服务器,文件格式为 crt 格式

Step2:修改 crt 文件的权限,用户和用户组改为 root:root ,文件权限修改为644

Bash
sudo chown root:root XXX.crt
sudo chmod 644 XXX.crt

Step3:拷贝 crt 文件到 /var/db/ca-certificates 文件夹

Bash
sudo mv XXX.crt /var/db/ca-certificates/

Step4:执行证书更新脚本

Bash
 sudo /usr/syno/bin/update-ca-certificates.sh

该脚本会在文件夹 /etc/ssl/certs 创建软连接到 /var/db/ca-certificates/ 文件夹的crt文件上,会在 ca-certificates.crt 文件中拼接所有的证书。(以下为示例)

Bash
$ ll /etc/ssl/certs | grep WolfBolin
lrwxrwxrwx 1 root root     21 Feb  6 00:43 52f05ea5.0 -> WolfBolin_Root_CA.pem
lrwxrwxrwx 1 root root     45 Feb  6 00:43 WolfBolin_Root_CA.pem -> /var/db/ca-certificates/WolfBolin_Root_CA.crt
$ cat /etc/ssl/certs/ca-certificates.crt

尝试使用CA签名的HTTPS服务器验证CA证书(HTTPS需要使用Web配置,此处不再赘述)

Bash
openssl s_client -connect mysynology:5001 -showcerts

参考文档

https://superuser.com/questions/1103219/how-to-import-a-root-certificate-into-a-synology-server

You may also like...

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注