OpenSSL:已SessionTicket TLS扩展问题
-
28-09-2019 - |
题
我使用它使用OpenSSL的客户端侧TLS的应用程序。 我们从0.9.8e OpenSSL的版本升级到0.9.8k。 然后TLS不工作...
Wireshark的结果表明,新的版本(使用OpenSSL 0.9.8k)发送带有SessionTicket扩展客户端Hello报文 - 和以致命内部错误服务器侧响应
在先前版本发送一个几乎相同的问候分组,但没有SessionTicket分机
当我取代TLSv1_client_method与SSLv23_client_method,一切运行良好 - 的SENT客户端问候数据包是一个的SSLv2(在嗅探器)而没有任何扩展
(因为它不是TLS但SSL?)是否有更好的方法来禁用此扩展或要解决的问题在另一种方式?
在预先感谢 rursw1
解决方案
从RFC 5077引用: “需要注意的是空SessionTicket扩展的编码是 暧昧在RFC 4507的RFC 4507实现可能编码 它为:
00 23 Extension type 35
00 02 Length of extension contents
00 00 Length of ticket
,或者它已以同样的方式编码其作为此更新:
00 23 Extension type 35
00 00 Length of extension contents
一个服务器希望支持RFC 4507级的客户端应该以一个响应 空SessionTicket扩展编码相同的方式,因为它接受了它。 “ 所以服务器我支持RFC 4507,而不是较新的5077。
工作使用的SSL_CTX_set_options与SSL_OP_NO_TICKET卸下它正常的“解决了这个问题。
希望这将帮助别人......
编辑: 好了,这也可以与配置标志-no-tlsext完成。 (当运行的Perl脚本配置)。 但是,要注意的是在OpenSSL的0.9.8n和OpenSSL 1.0.0,您需要注释掉的源代码的某些部分,否则将无法编译 - 作为安全重新协商(这被认为是其本身不安全的)要求它
不隶属于 StackOverflow