【发布时间】:2020-11-15 22:54:09
【问题描述】:
curl: (60) SSL: no alternative certificate subject name matches target host name
我没有收到此错误。如果我提供 CA 证书(带有--cacert 选项),它甚至没有主题替代名称。如果它有一个,它肯定不会匹配目标主机名(我的服务器)。
另一方面,如果我提供我的 服务器 证书,用 CA 签名,它会显示:SSL certificate problem: unable to get local issuer certificate.(这是我所期望的,因为我的计算机默认情况下不信任 CA,这是正确的。)
将 PEM 证书合并到一个文件中时,我遇到了同样的错误。
使用选项 --capath 设置为具有 server 和 CA 证书的目录,它再次显示:curl: (60) SSL certificate problem: unable to get local issuer certificate。
如何进行信任检查?
(在使用单个自签名服务器证书时有效。)
【问题讨论】:
-
有一个边缘情况,错误消息确实有意义:使用自签名证书时。那行得通(那是我以前的设置),当时我没有看到任何错误
-
也许问题是我的服务器不发送证书链,而只发送服务器一个。我会尝试在那里添加CA证书
-
不,问题是一样的
-
我遇到了类似的问题:“curl: (51) SSL: no alternative certificate subject name matches target host name 'myserver.something'” 虽然它在 SAN 列表中。我发现当我在 SAN 中使用第一个 DNSName 时,它确实有效。我不知道这是否是一个已知问题,但在我的情况下,curl 似乎没有检查 SAN 中的所有 DNS 名称。