RFC8446/TLSv1.3第 9.1 节说“实现应该支持 X25519”。
支持 Curve25519的在线软件列表 将 Firefox 和 /Chrome 列为支持 TLS。
我做了一个实验,用 Ed25519 创建了一个自签名的 TLS 证书。Chromium 84 和 Firefox 79 都抱怨无法协商密码列表/版本。我还注意到他们在连接到 localhost 时会启动 TLSv1.2 握手,但在连接到 google 时会使用 TLSv1.3 握手。wget另一方面,连接没有问题(我用过--no-check-certificate,但是在这里不重要)
然后我查看了 TLSv1.3 握手。两种浏览器都没有提供 Ed25519 作为其签名ClientHello(即使通过 TLSv1.3 连接到谷歌)。同样,wget 确实将它作为 ClientHello 的一部分提供。
所以我认为这可能是我的发行版(Fedora)的平台问题,但这篇博客文章还声称主要浏览器不支持 X25519。虽然ChromeStatus表示自 Chrome 50 起就支持它(我假设 chrome 和上游 chromium 在这方面没有区别)。
我完全糊涂了。目前主流浏览器对 X25519 的支持情况如何?这是谷歌浏览器与上游铬问题吗?


