我想验证将导入我的应用程序的证书链。我不知道怎么做。
我的同事告诉我,我必须使用Bouncing城堡进行验证。我看了几个例子,但仍然没有任何进展。
我有一个List<X509Certificate>
,其中包含从用户界面导入的所有证书,以及PrivateKey
。
您能否告诉我如何使用Bouncing castle验证证书链。
答案 0 :(得分:1)
您可以使用java.security.cert.CertificateFactory
来验证证书链。
InputStream inStream = ByteArrayInputStream(<data>);
CertificateFactory cf = CertificateFactory.getInstance("X.509");
CertPath cp = cf.generateCertPath(inStream);
List<Certificate> certs = cp.getCertificates();
certs
现在包含证书链。 certs
(certs[0]
)中的第一个条目包含证书,以下证书是链。
certs
中的最后一个条目是根证书,应与应用程序中现有的证书进行比较。
如果无法构建证书路径,则上述代码将抛出CertificateException
。