我目前正在与 SChannel 合作开发基于异步 (IOCP) 的服务器,我的大部分工作都正常,但我在重新协商时遇到了问题。具体来说,当对等点 A 向对等点 B 发送重新协商请求并且对等点 B 以 TLS1NO RENEGOTIATION
警报响应时,对等点 A 如何继续?我在收到SEC_I_NO_RENEGOTIATION
响应时似乎有一个无效的上下文,这使我无法继续使用流...
更新我已经做了一些更多的测试,它似乎不是一个无效的上下文,但我确实SEC_E_ENCRYPT_FAILURE
从下一次调用 Encrypt 中得到......
重新谈判的请求真的可以拒绝吗?还是NO RENEGOTIATION
alert 只是一条信息性错误消息,现在意味着连接无用?如果是这样,为什么将其评论为“警告”而不是“错误”?没有; TLS RFC (5246) 明确指出,在没有重新协商警报后,我们是否可以继续由对等方决定......
更新如果我使用...发送 TLS 警报没有任何区别ApplyControlToken()
or if I send it using EncryptMessage()
with SECQOP_WRAP_OOB_DATA