与 2011 年的这个老问题相关,但是是一个新问题:
我们有一个 SVN 服务器,它有一个由 LetsEncrypt 签名的证书。
直到本周,TortoiseSVN 以及我们使用的所有其他 SVN 客户端和浏览器都运行正常。
然而,昨天 TortoiseSVN 的某些版本(至少 1.14.1)开始对 SVN 服务器发出证书警告。同一台机器上的所有浏览器仍然对该证书完全满意。
我们认为这与 LetsEncrypt 的根签名的变化有关,它们确实有两种不同的根路径,其中一种在本周已过期。
从此页面上的 OpenSSL 命令:
https://howto.lintel.in/check-certificate-information-web-server-using-openssl/
我相信 SVN 服务器正确提供了本地证书、LetsEncrypt 中间证书和“ISRG Root X1”根证书。
我真正不清楚的是 TortoiseSVN(或者我猜更准确地说是它使用的 Apache SVN 库)从哪里获取其根证书列表。
目前还不清楚(因为我不知道它使用什么)该问题是否会通过自动更新该证书列表自行解决,以及用户是否可以轻松进行更改以将 ISRG 证书添加到有效的根证书中(在“服务器”SVN 配置文件中添加 ssl-authority-files 设置?但哪里可能有一个系统文件可以让 SVN 指向,以防止每个人都必须下载、转换和安装根证书?)。
服务器配置文件“ssl-trust-default-ca”中还有另一个选项,但设置这个选项似乎没有任何区别,并且再次不清楚它将在 Windows 上寻找“系统默认 CA”的位置。