使用带有SubjectAltName的自签名证书时,Logstash-forwarder显示证书由未知机构签名。

3
我正在尝试使用logstash-forwarder连接logstash。他们基于ssl进行通信,因此我按照这里的方法生成了一个自签名证书。然后,在logstash-forwarder端出现了以下错误信息:
无法与9.21.61.19进行tls握手x509:由未知授权机构签署的证书(可能是因为尝试验证候选授权证书“*.*.*.*.*”时发生“x509:无效签名:父证书无法签署此种证书”)
如果我生成不带主题替代名称的证书,它将正常工作。
可以通过以下方式生成可用于不同类型主机的证书:
openssl req -x509 -batch -nodes -newkey rsa:2048 -keyout lumberjack.key -out lumberjack.crt -subj /CN=*.*.*.*.* -addext "subjectAltName = DNS:*,DNS:*.*,DNS:*.*.*"
如何解决此ssl错误?或者有没有更好的方法使logstash-forwarder可以在各种环境中工作?

名称只能包含单个通配符,且只能是最左边的。也就是说,不能有 foo.*.example.com*.*.example.com,只能有 *.example.com - Steffen Ullrich
真的吗?当我在我的环境中使用CN=....*时,它确实可以工作。 - Tyler
可能是logstash没有正确验证证书,但根据RFC 6125,这样的广泛通配符不应该被接受。任何浏览器也不会接受这个。 - Steffen Ullrich
那么你的意思是说我的需求无法实现?我们有其他方法可以解决这个问题吗?我的意思是,是否有一种方法可以生成适用于所有主机名的证书?我知道这不是为 SSL 设计的。但是为了使 logstash-forwarder 和 logstash 在我的生产环境中正常工作,我确实需要这个... - Tyler
我不清楚你的环境具体情况。除此之外,这更像是专业服务器管理方面的问题,请在serverfault.se上提问。 - Steffen Ullrich
好的,非常感谢您的耐心和知识分享 :) - Tyler
2个回答

1
结果表明,当我删除了

keyUsage = digitalSignature, keyEncipherment

[ v3_ca ] 中,这是在 guide 中要求的,生成的证书可以适用于各种主机名。

这可能不是 SSL 的正确场景。但对于 logstash/logstash-forwarder 情况来说,它确实有帮助。


1

您是否在logstash-forwarder.conf文件中的“ssl ca”中提到了pem文件?您需要在conf文件中提到用于签署证书的pem文件。


抱歉回复晚了。是的,我在logstash-forwarder.conf中更新了“ssl ca”,问题得到了解决。谢谢。 - Avik Das

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接