精通
英语
和
开源
,
擅长
开发
与
培训
,
胸怀四海
第一信赖
通信连接提示“SSL handshake stopped due to detection of insecure SSL server”或“unsafe legacy renegotiation disabled”。这些提示表示SSL服务器不兼容RFC5746。有没有办法判断是否兼容呢?
在通信里的SSL handshake数据里可以找到是否兼容。预想数据情况如下:
1、客户端的ClientHello带有“renegotiation_info”或“TLS_EMPTY_RENEGOTIATION_INFO_SCSV”。
2、服务器回复的ServerHello带有“renegotiation_info”
3、后续的握手继续完成。
如果服务器端有"renegotiation_info",则服务器支持安全再协商;没有,则不支持。
如果可以用openssl工具,可以用如下命令行来验证Secure Renegotiation支持与否。
openssl s_client -connect server1 :443
SSL握手读取1025字节且写入616字节。
New, TLSv1/SSLv3, Cipher is RC4-MD5
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
openssl s_client -connect server2:443
SSL 握手读取 553字节且写入 235 bytes
New, TLSv1/SSLv3, Cipher is AES256-SHA
Server public key is 1024 bit
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
SSL-Session: