不支持安全重新协商的网站出现卷曲问题

时间:2018-06-20 11:16:19

标签: ssl curl tls1.2 pci-compliance

上下文:

服务器:Debian 8.6

curl 7.38.0-4 + deb8u11

libcurl3:amd64 7.38.0-4 + deb8u11

openssl 1.0.1t-1 + deb8u8

案例1(KO)

当我尝试连接到不支持通过curl通过命令行进行安全重新协商的网站时,总是会收到此错误:

与xxxxx关联的未知SSL协议错误

这是命令的完整输出:

curl -v --tlsv1.2 xxxxxxxxx

  • 将URL重建为:xxxxxxxxxx

  • 在DNS缓存中找不到主机名

  • 正在尝试XXXXXXX ...

  • 已连接到xxxxxxxxxxxx(x.x.x.x)端口443(#0)

  • 成功设置了证书验证位置:

  • CAfile:无

    CApath:/ etc / ssl / certs

  • SSLv3,TLS握手,客户端问候(1):

  • 与xxxxxxxxxx:443关联的未知SSL协议错误

  • 关闭连接0

卷曲:(35)与xxxxxx:443连接时发生未知的SSL协议错误

其他信息:远程网站不支持安全重新协商(我使用openssl s_client -connect域名:443进行了检查)。

cURL似乎总是尝试使用SSLv3执行SSL握手,并且服务器立即拒绝连接而不执行任何重新协商。

案例2(确定)

当我尝试连接到确实支持网站的网站时,我可以通过curl使用命令行进行重新协商。

这是命令的完整输出:

root @ web1:〜#curl -v --tlsv1.2 XXXXXXX

  • 将URL重建为:XXXXXX

  • 在DNS缓存中找不到主机名

  • 正在尝试XXXXXXX ...

  • 已连接到XXXXXXXX(XXXXXXX)端口443(#0)

  • 成功设置了证书验证位置:

  • CAfile:无

    CApath:/ etc / ssl / certs

  • SSLv3,TLS握手,客户端问候(1):

  • SSLv3,TLS握手,服务器问候(2):

  • SSLv3,TLS握手,CERT(11):

  • SSLv3,TLS握手,服务器已完成(14):

  • SSLv3,TLS握手,客户端密钥交换(16):

  • SSLv3,TLS更改密码,客户端问候(1):

  • SSLv3,TLS握手,已完成(20):

  • SSLv3,TLS更改密码,客户端问候(1):

  • SSLv3,TLS握手,已完成(20):

  • 使用TLSv1.2 / AES256-GCM-SHA384的SSL连接

其他信息:远程网站支持安全重新协商(我使用openssl s_client -connect域名:443进行了检查。)

cURL似乎总是尝试使用SSLv3执行SSL握手,然后服务器执行重新协商,并且curl接受新的ssl协议版本(tlsv1.2)。

根本原因似乎是curl忽略了--tlsv1.2选项还是我错了?

我已经将软件包更新为最新版本(不能选择Debian 9)。

有什么建议吗?

谢谢

0 个答案:

没有答案
相关问题