2014-08-28 196 views
1

我如何在java中進行證書鏈驗證或打開ssl? 我正在寫應用程序,它是非常普遍的情況下,用戶把錯誤的鏈順序。證書以* .pem格式導入。證書鏈驗證

-----BEGIN CERTIFICATE----- 
MIIEDDCCAvSgAwIBAgIBADANBgkqhkiG9w0BAQUFADCBiDELMAkGA1UEBhMCVVMx 
-----END CERTIFICATE----- 
-----BEGIN CERTIFICATE----- 
MIIExDCCA6ygAwIBAgIJAJGR2RC4vX04MA0GCSqGSIb3DQEBBQUAMIGcMQswCQYD 
f3sCZkch3E3Cb9GTBCq/c39A5ay6xj4b 
-----END CERTIFICATE----- 

我不在乎證書是否有效,只是它們按照正確的順序導入!

在此先感謝!

回答

2
openssl verify -verbose -purpose sslserver -CAfile <file containing both root and intermediates> <file containing signed cert> 

如果成功的話,你會得到類似這樣的回覆:OK

如果不成功(或缺少的東西),你會得到類似這樣的回覆 :

錯誤20在0深度查找:無法獲得本地發行人證書

+0

非常感謝你的人!如果用戶導入鏈,那麼簽名的證書是什麼?這是最後一個嗎?在我的應用程序中,我有專用密鑰的字段,以及一個用於鏈的字段。用戶可以導入無限制的編碼證書。我如何將它們與signem cert分開?首先應該是根,最後一個簽名證書,我是對的嗎? – user2739823 2014-08-28 12:13:09

+0

@ user2739823你可以參考[this](http://shib.kuleuven.be/docs/ssl_commands.shtml)和[this](http://jw35.blogspot.in/2010/05/doing-certificate-verification -in.html)瞭解更多細節,但我認爲你現在可以玩弄答案,你有命令與你在一起。 :) – 2014-08-28 13:39:21

+0

謝謝!這正是我正在尋找的! – user2739823 2014-08-28 14:11:05