2013-12-11 208 views
0

我讀證書文件用以下方法:如何獲取證書中的子根證書?

File certFile = new File("E:/mycert.cer"); 
InputStream stream = new FileInputStream(certFile); 
CertificateFactory factory = CertificateFactory.getInstance("X509"); 
X509Certificate certificate = (X509Certificate) factory.generateCertificate(stream); 

如何獲得Java編程證書的根證書。?

回答

1

如何獲取證書中的子根證書?

你不行。他們不在證書中。您需要:

  1. 有一個包含證書鏈,不只是一個單一的證書流下,在
  2. 召喚generateCertificates()代替generateCertificate(),從而得到Collection<? extends Certificate>,或
  3. 呼叫generateCertPath()所以以獲得CertPath,,其中包含有序的ListCertificate,從中您可以獲取根,葉子和中間體。