2016-11-20 80 views
1

我想要的是當psk處於活動狀態時測試tls握手。 我也想看到客戶端(我的筆記本電腦)和公共服務器之間的連接期間交換的每個http頭。 現在我想知道是否有公共的psk tls服務器,我可以做我的測試。是否有公共的psk服務器來測試tls握手?

問候。

+0

嘗試我的小而未完成的項目[TlsPskServer2](https://github.com/afarber/jetty-newbie/tree/master/TlsPskServer2/src/main/java/de/afarber/tlspskserver2)。 –

回答

2

我懷疑是否有一臺網絡服務器在互聯網上使用PSK打開公共測試。另外我懷疑瀏覽器是否支持PSK密碼套件。但你可以設置使用PSK使用OpenSSL自己的Web服務器:

openssl s_server -psk 1a2b3c4d -nocert -www 

和匹配的客戶端:

openssl s_client -connect 127.0.0.1:4433 -psk 1a2b3c4d 

對於HTTP協議:它是獨立於TLS層,即它不如果使用PSK或使用證書的正常認證,請更改。

0

即使某些公共TLS服務器支持PSK,您也無法使用它測試您的客戶端。公鑰認證(大多數TLS服務器使用的)的工作方式和PSK之間存在着根本的區別。

公共密鑰驗證: 公開的櫃面密鑰服務器驗證(不涉及客戶端身份驗證的),服務器會發送一個證書,其中包含一個公共密鑰和客戶端加密它的預主祕密,併發送它到服務器只有服務器可以解密。通過這種方式,兩者都具有相同的預主祕密,並且可以使用相同的派生集來進一步導出最終密鑰。

預共享密鑰: 正如名稱所示,預共享需要雙方預先擁有相同的密鑰。他們只是交換他們之間的ID來表明他們將使用哪個Pre-Shared來生成最終密鑰。

因此,即使有支持PSK的服務器,您也應該擁有相同的一組密鑰(或至少一個),這是不可能的,因爲這些服務器不會與任何人分享密鑰應該與誰共享(合法客戶)。

因此,最好的方法是使用openssl的測試客戶端和服務器工具並對其進行測試。

相關問題