我正在查看一個HTTPS「GET」請求的Microsoft網絡監視器捕獲,如果由.NET HttpWebRequest
執行,它將神祕地永遠不會完成。這個TLS警報是什麼意思?
我發現,服務器Hello包含一個警告條目,看起來像這樣:
我有以下問題:
這是真的警報加密?我知道,如果在密鑰交換後發送警報,警報確實會加密,但正如您所看到的,這很快發生在Server Hello的談判階段。
如果未加密,是否格式不正確?第一個字節01
表示這是一個警告,但70
(「協議版本」)是一個致命錯誤。當然70
只能作爲02 70
的一部分出現?
這是什麼意思?「協議版本」提示了erm協議版本。然而,客戶端Hello包含「TLS 1.0」作爲最大版本,並且服務器Hello也指定了「TLS 1.0」。還有什麼可能是錯的?
如果有人覺得自己夠英勇:)
我用來執行此請求shown in my other question的代碼,我可以將整個捕獲。
我想補充說,你的客戶端不應該因爲這個警報而終止連接。握手應該已經完成。 – Nikos 2011-04-20 10:16:49
Te unrecognized_name根據RFC,警報可能是致命的。在Java 7的情況下,它是致命的。你可以關閉發送SNI:http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7127374 – eckes 2012-01-07 12:48:04