2017-10-04 91 views
0

問題描述:什麼是二次握手發生在TLS 1.0

我想連接到TLS 1.0從Windows筆記本電腦到Windows IIS服務器。我們在IIS上設置了相互身份驗證。

請參閱握手的呼籲如下:

enter image description here

因此,它與客戶端開始招呼框架上沒有4.然後在接下來的步驟服務器發送它的證書和密碼進行談判。然後在第12幀上,握手似乎完成了。在第13幀上,客戶端開始發送應用程序數據。

但是再次在第14幀上,服務器發送一個hello,我們看到第二次握手。請你回答我的下面的問題。

問題>>在相互驗證中,客戶端請求服務器證書。然後服務器請求客戶端證書。並且,當他們兩人已經認證了對方的證書時,客戶端就開始發送應用程序數據。這不是一個正常的相互認證過程嗎?

問題>>在第13幀上,客戶端已經開始共享應用程序數據。那麼爲什麼IIS要求在第21幀上進行二次握手?

問題>>這似乎是獲得客戶端證書(第24幀)的第二次握手。但是服務器不應該在第13幀之前要求客戶端證書。

如果您同意此IIS行爲錯誤,請您建議如何解決此問題。

在此先感謝。

回答

0

如果服務器不需要所有資源的相互驗證,但只有在訪問特定資源時纔會出現此情形。因此:

  • 沒有客戶端證書的初始握手完成(幀4..12)。
  • 客戶端發送HTTP請求(第13幀)。
  • 根據請求,服務器意識到客戶端喜歡訪問需要相互認證的資源。服務器因此使用Hello請求(幀14)請求新的握手。
  • 新的握手完成,這次用客戶端證書(幀15..25)。
  • 服務器在客戶端驗證成功後發送HTTP響應(26,29幀)。
+0

感謝Steffen .....我們可以強迫IIS做第一手的所有驗證...請建議如何做到這一點.....我們也有一個大型機CICS應用程序調用一個IIS服務器.....我們嘗試使用TLS 1.0和TLS 1.2的CICS調用IIS ......我們在兩種場景中看到了第二次握手....對於TLS1.2,第二次握手成功... 。但對於TLS 1.0第二次握手失敗.....任何想法爲什麼發生這種情況...... – Kowshik

+0

@Kowshik:我不知道如何以及如何配置IIS。但是,如果只需要客戶端證書而不是整個站點的特定資源,那麼這是不可能改變的,因爲只有在第一次成功的握手和來自客戶端的初始請求之後才知道所請求的資源。至於爲什麼它不符合TLS 1.0而不符合TLS 1。2:我不知道,但無論如何,這將是一個不同的問題,需要它自己的(不同的)有關這個問題的細節。 –