更改SSL协议的版本,而重用会议(Change SSL protocol version while

2019-10-21 22:55发布

我使用ssl3连接到服务器。 当-change_session_version与指定选项-reconnect ,我希望会话协议来改变SSLv2SSLv3

这是我的命令: apps/openssl s_client -connect 10.102.113.3:443 -reconnect -change_session_version -ssl3

现在,我知道我应该有任何这样的代码:

if(change_session_version)
    s->session->ssl_version = SSL2_VERSION;

或者这样的代码:

if(change_session_version)
    s->version = SSL2_VERSION;

我不知道在哪里,虽然把这个代码。

我宣布change_session_versionintssl.h并已设置为1 ,如果-change_session_version指定的选项。

请帮助我!

Answer 1:

你的问题体现了一个自相矛盾的说法。 在SSL A“会话”包括协议中,密码组,密钥材料,以及所述对等证书。 而无需创建一个新的会话你不能改变其中任何一个。

编辑只是改变一个变量在一块的本地内存不可能完成任何有用的东西。 该节点将不知道这件事,和其他同龄人在其他连接共享会话不会知道它的。 你必须重新握手并协商新的会话。



Answer 2:

我不认为这是可能的。 首先,的SSLv2实际上不再支持,多数栈甚至没有实现它,而其他已禁用它。 再有就是在所有的会话恢复不支持的SSLv2。



文章来源: Change SSL protocol version while reusing session