如何将根证书导入 Synology 服务器?

如何将根证书导入 Synology 服务器?

我正在寻找一种在 Synology 服务器中导入根证书的方法(该证书来自 ssl 拦截代理)。

我已将证书复制到

/usr/share/ca-certificates/<somesubfolder>

并将权限更改为 744,将所有者更改为 root:root。然后我在

/etc/ssl/certs

这并没有改变什么,所以我另外修改了文件

/etc/ca-certificates.conf

并添加了这一行:

<somesubfolder>/<certfile.crt>

再次,这并没有改变行为,仍然无法与外界建立连接。有什么想法吗?

答案1

好的,感谢 Spiff,我解决了这个问题。以下是我所做的:

  1. 将证书(以 .crt 结尾)复制到 /usr/share/ca-certificates/randomsubfolder/

  2. 在所有根 CA 证书列表中导入该证书:

    sudo sh -c'cat /usr/share/ca-certificates/randomsubfolder/cert >> /etc/ssl/certs/ca-certificates.crt'

注意:synology 不正式支持此功能。将来的 DSM 更新可能会将 root-ca-certs 列表恢复为默认值,然后您必须再次导入该证书。

答案2

在 Debian / Ubuntu 中,我们使用update-ca-certficates它来添加证书。事实上,这update-ca-certficates是一个 shell 脚本,没有什么可以阻止它在 Synology 上运行。要实现这一点,您需要执行以下操作:

  1. 通过 SSH 进入 Synology
  2. update-ca-certficates从 Debian 源获取
sudo wget -O /usr/sbin/update-ca-certificates https://sources.debian.org/data/main/c/ca-certificates/20211016/sbin/update-ca-certificates
sudo chmod +x /usr/sbin/update-ca-certificates
  1. 创建其他证书的目录并将您的证书复制到其中
sudo mkdir -p /usr/local/share/ca-certificates
sudo chmod 755 /usr/local/share/ca-certificates
sudo cp /path/to/your/certificate.crt /usr/local/share/ca-certificates
sudo chmod 644 /usr/local/share/ca-certificates/*.crt
  1. 称呼update-ca-certificates
sudo update-ca-certificates

运行脚本后你应该看到:

1 added, 0 removed; done.

这种方法的好处是您可以update-ca-certificates在启动时从 Synology 的任务计划程序调用,这应该允许证书在 DSM 更新后继续存在。

答案3

对于 Synology DSM 7,这是安装私人 CA 证书的正确方法:

  • 将以 结尾的 ca 证书复制到.crt目录中:/var/db/ca-certificates并将证书的权限更改(chmod)为644
  • 然后执行synology提供的脚本:update-ca-certificates.sh
  • 重启
  • 享受!

答案4

/usr/syno/bin/update-ca-certificates.sh在 DSM 7.2 中,存在用于重新创建内容的脚本/etc/ssl/certs

.crt它允许添加您自己的证书/usr/syno/etc/security-profile/ca-bundle-profile/ca-certificates/。运行脚本时将识别这些证书。

该目录默认不存在,因此如果缺失则创建。尚未找到创建它的官方方法(2024-02)。

相关内容