2016-02-26 56 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不明白。 –