2016-02-26 62 views
0

完全披露,我很少知道我在做什么。什么加密方法默认卷曲使用?

我做了一些故障排除与卷曲和加密,我不明白为什么这个工程的某个网站我测试反对:

curl -v https://website 

但没有这些选项的作用:

curl -v -1 https://website 
curl -v -2 https://website 
curl -v -3 https://website 

我回来与所有三个选项的错误是:

error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure 

我Googl'd的H eck摆脱了这个错误,似乎Curl有百万个原因返回这个错误。

我知道-2选项使用超级旧和破坏SSL,-3使用较少旧(但仍然是破坏)SSL,-1使用TLS。如果我尝试使用--tlsv1.0等细化,我使用的Curl版本似乎不起作用。我没有权限在我测试的计算机上安装较新版本的Curl 。

所以,我的问题是这样的:如果我没有明确告诉它使用什么,我怎么知道Curl使用什么方法连接到https://网站?

回答

1

它完全取决于与同伴谈判的内容。您需要检查每个特定情况下的握手跟踪。

+0

我认为是这样。检查握手的最佳方式是什么?像Wireshark的东西? –

+0

也许这可以帮助:http://stackoverflow.com/questions/17742003/debugging-ssl-handshake –

+0

我做了一个数据包捕获,发现两个(大概)相同的服务器上,Curl使用TLS 1.2在一个和1.1上另一个。我假设1.1被目标服务器拒绝。 为什么Curl在一个上使用不同的默认TLS版本而不是另一个? Curl的两个版本报告完全相同的细节: curl 7.22.0(x86_64-pc-linux-gnu)libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3 I不明白。 –