2012-08-14 92 views
2

我試圖調試TLS相關的問題。 TLS是兩個應用客戶端之間建立一個&服務器B.將A & B的證書交換,我已經驗證證書具有正確的擴展,也有它的根CA驗證成功上傳葉證書的根CA,並可供應用程序信任庫使用。 TLS期間Wireshark的,我看到下面的消息流:TLS握手衰竭TLS解密錯誤

CLIENT : Client Hello 
SERVER : Server Hello , Certificate , Certificate request , Server Hello Done 
CLIENT : Certificate , Client key exchange 
CLIENT : Certificate Verify , Change Cipher spec , Encrypted Handshake Message 
SERVER : Alert : Level Fatal, Description : Decrypt Error) 

而且TLS日誌顯示:

TLS protocol error(ssl reason 
code=block type is not 01 [106]),lib=rsa routines 
[4],fun=RSA_padding_check_PKCS1_type_1 [112], errno=12 for 
192956|<CLID::StandAloneCluster><NID::xxx.xxx.xxx.xxx><CT::0,0,0,0.0><IP::> 
192956|<DE 
V::><LVL::Error><MASK::0800> 

任何指針,這可能是由服務器端導致解密錯誤? TLS交換期間的證書沒有問題,可以正確鏈接到其根證書。

任何指針將有很大的幫助!

在此先感謝!

+1

那麼它不是證書。你在客戶端運行什麼軟件? – EJP 2012-08-14 06:31:55

+0

客戶端正在運行Java應用程序 – user839917 2012-08-14 15:07:25

+0

正在使用什麼SSL /加密堆棧? – FractalSpace 2016-12-19 20:43:04

回答

1

什麼明顯的情況是,服務器無法通過應由指定的密碼組進行加密和驗證客戶端(更改密碼規範後的「成品」)解密給他的第一個加密消息客戶的「更改密碼規範」 - 消息。

這意味着,例如,服務器並沒有真正擁有從中提供給客戶端與證書或類似這樣的東西公鑰的私鑰。

0
openssl s_client -host ip_address -port port_num 

請更換IP_ADDRESS到您的客戶端IP或服務器的ip,並port_num他們的SSL端口,並打印出結果,這樣我們就可以找到答案。

+0

這不是一個答案,這是一條評論。在未來的地方請求信息作爲評論 – 2016-10-06 09:22:19

0

試試下面的命令:

openssl s_client -connect mail.example.com:25 -starttls smtp 
+3

請詳細說明爲什麼你選擇這個命令,如果OP需要替換任何值。 – onebree 2015-08-17 20:34:10