在配置文件中超时执行不允许的协议

时间:2018-02-06 06:21:24

标签: ssl encryption https webrtc

我正在研究WebRTC Gateway的遗留代码。我更新了一个配置文件,用于禁用不安全的协议,如SSLv3,TLS1.1和TLS1.0,您可以在下面的代码片段中看到这些协议;

# Allowed cipher list.
cipher-list="TLSv1.2+HIGH:!TLSv1.1:!TLSv1:!SSLv3:!aNULL:!eNULL:!MD5:!DSS:!RC4:!PSK:!3DES:!DH:!EXPORT:!LOW:!SSLv2:@STRENGTH"

# Do not allow an SSL/TLS version of protocol
#
no-sslv2
no-sslv3
no-tlsv1
no-tlsv1_1
#no-tlsv1_2

然后我尝试使用此命令测试协议;

openssl s_client -tls1_2 -connect www.example.com:443

当我使用允许的协议执行命令时,没有失败并且发生握手。但是当我使用不允许的协议(如TLS1.1或TLS1.0)更改协议时,系统不允许握手,但等待直到超时,然后抛出异常。

如果我修改配置文件的协议列表如下(注释掉所有协议),则会立即抛出握手失败;

# Allowed cipher list.
cipher-list="TLSv1.2+HIGH:!TLSv1.1:!TLSv1:!SSLv3:!aNULL:!eNULL:!MD5:!DSS:!RC4:!PSK:!3DES:!DH:!EXPORT:!LOW:!SSLv2:@STRENGTH"

# Do not allow an SSL/TLS version of protocol
#
#no-sslv2
#no-sslv3
#no-tlsv1
#no-tlsv1_1
#no-tlsv1_2

我将更新产品说明,因此我试图深入了解此执行情况。有谁知道为什么这个系统行为如此?

感谢。

0 个答案:

没有答案