重用会话时更改SSL协议版本

时间:2015-02-17 06:49:00

标签: security ssl openssl

我正在使用ssl3连接到服务器。使用-change_session_version指定-reconnect选项时,我希望会话协议从SSLv2更改为SSLv3

这是我的命令: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_version中将int声明为ssl.h,并且如果指定了1选项,则将其设置为-change_session_version

请帮帮我!

2 个答案:

答案 0 :(得分:1)

我不认为这是可能的。首先,SSLv2实际上不再受支持,并且大多数堆栈甚至不实现它,而其他堆栈已禁用它。然后根本不支持SSLv2中的会话恢复。

答案 1 :(得分:1)

你的问题体现了矛盾。 SSL中的“会话”包括协议,密码套件,密钥材料和对等证书。如果不创建新会话,则无法更改其中任何一个。

编辑只更改一个本地内存中的变量不可能实现任何有用的功能。对等方不会知道它,并且在其他连接上共享会话的其他对等方也不会知道它。您必须重新握手并协商会话。