我使用了一个中间人代理工具并将不同的智能手机连接到它。由于代理使用自签名证书,因此测试的智能手机应用程序不接受提供的服务器证书。
有趣的部分(在我看来)是不同的智能手机平台使用完全不同的消息和策略来确保无法建立 TLS 连接。
有些人刚刚发送了一条带有描述 bad_certificate(42) 或 certificate_unknown(46) 的 ALERT 消息。其他电话只是继续握手,但后来密钥交换确定性失败。
我发现最后一个案例特别有趣,因为不清楚客户端如何强制握手阶段失败,以及改编的服务器/代理是否仍然能够“保存”握手阶段并建立连接......
如果检测到不受信任的证书,客户端是否应该在 RFC 中写下某处以断开连接的操作?
如果不是,是否有人知道通常使用什么机制来故意破坏 TLS 握手阶段?