gpt4 book ai didi

javascript - 在服务器端检测客户端是否拒绝我的 TLS 证书

转载 作者:行者123 更新时间:2023-11-30 20:14:05 26 4
gpt4 key购买 nike

我正在 Node.js 中构建一个 HTTP 代理,它会尝试使用自签名证书拦截 HTTPS 连接。我正在使用裸机 http.Server,根据需要实例化我自己的 tls.TLSSocket 来升级套接字,当 CA 被客户端信任时,所有功能都运行良好.

如果客户端没有配置 CA,它显然会拒绝连接,并提示链中有自签名证书。

这就是它应该做的,但我想要一种方法来检测服务器端是否发生了这种情况,这样我就可以提示用户正确配置他们的客户端。

这有可能吗?似乎 TLS RFC ( https://www.rfc-editor.org/rfc/rfc5246#section-7.2.2 ) 有很多关于证书拒绝的错误警报消息,我希望涵盖这一点,但我看不到在 Node 中看到任何调试信息,即使使用 NODE_DEBUG =tls.

我真的很想订阅 TLS 错误警报事件,这样我就可以直接对其中的各种有趣案例使用react。我该怎么做?

最佳答案

通常你看到的只是客户端关闭了连接。一些客户端可能会发送警报,而另一些则不会 - 确切的行为取决于 TLS 堆栈。无论如何,您无论如何都无法从这个死连接中重定向客户端。

您可能会尝试使用纯 HTTP 提供一些初始页面,其中您使用由您的 CA 签名的证书从 HTTPS 资源中包含一些图像或类似内容。使用一些脚本,您可以检测客户端是否已成功加载图像,在后一种情况下,您可以显示有关需要安装某些证书的信息。

关于javascript - 在服务器端检测客户端是否拒绝我的 TLS 证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52087413/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com