Ubuntu 20.04
我使用 lftp 连接到服务器(ftp.domain.xxx)。
我得到“证书验证:无法获得本地颁发者证书”。
阅读此答案 https://stackoverflow.com/a/44095714/3206025 我添加了
set ssl:ca-file "/etc/ssl/certs/ca-certificates.crt
无论是在启动 lftp 中~/.lftp/rc
还是在启动 lftp 时,都要确保正确地做这些事情。
但问题仍然存在。
所以我假设/etc/ssl/certs/ca-certificates.crt
不包含证书/不足以工作。
我认为证书是真正生成的,让我们加密机制。
Ubuntu 是否能够识别让我们加密证书(在 firefox 之外)。
我该如何解决我的问题?
问题不是由客户端的错误设置引起的,而是由服务器的错误设置引起的。服务器仅提供叶证书,而不提供创建本地根 CA 的信任路径所需的链证书 - 请参阅SSL 证书框架 101:浏览器如何实际验证给定服务器证书的有效性?更多(这篇文章是关于浏览器的,但对于 FTP 客户端也是一样的)。
可以通过以下方式确定错误的设置
openssl s_client
:从这里可以看出,服务器只发送叶子证书。正确的设置将如下所示:
这里提供了预期的链证书,
Let's Encrypt Authority X3
以便可以针对本地根 CA 创建信任链DST Root CA X3
。