2012-05-10 75 views
0

我使用具有自定義KeyManager,TrustManager和客戶端身份驗證的java TLS服務器。連接工作和證書交換,客戶端(Firefox)也表示連接已加密。我分析與wireshark的連接,但我沒有看到tls消息,wireshark只顯示tcp段而不解碼有效載荷(如TLS客戶端hello,服務器hello等)。 我啓用調試日誌記錄的,這是服務器的日誌:Java TLS連接行爲

trigger seeding of SecureRandom 
done seeding SecureRandom 
Allow unsafe renegotiation: false 
Allow legacy hello messages: true 
Is initial handshake: true 
Is secure renegotiation: false 
Thread-1, called closeSocket() 
+1

這裏沒有問題,但Wireshark無法解碼有效載荷。它被加密。這就是SSL的用途。 – EJP

回答

3

如果您使用的不是通常用於SSL/TLS的端口,你必須告訴Wireshark的解碼它明確地作爲SSL/TLS。

右鍵單擊一個包,然後選擇解碼爲... - >運輸 - >SSL

+0

不買你太多。有效載荷仍然是加密的。 OP的期望錯位。 – EJP

+2

@EJP啊,我不確定,我把這個問題理解爲「解碼」,以便能夠看到TLS消息的結構。解密是另一件事當然。 – Bruno

+0

Wireshark不會給我TLS消息的結構。 – EJP

0

如果你有私鑰,你可以看到有效載荷,只需工具 - >首選項 - > ssl->編輯並在這裏插入你的密鑰。

+1

謝謝您的建議,但我在一年前解決了這個問題。 :D – Daniel

+0

而且,無論如何,如果TLS會話使用「完美向前保密」(它應該),它將不起作用。 – bortzmeyer