2014-08-28 246 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