如何在Java中提取X509证书字段

如何在Java中提取X509证书字段,java,cryptography,x509certificate,Java,Cryptography,X509certificate,我目前正在开发一个应用程序,该应用程序将处理X509证书的某些字段,但我似乎不知道如何提取证书的某些部分以进行调试。到目前为止,我只能通过以下代码了解如何从基于Javadoc for java.security.cert.certificate的文件中读取证书: FileInputStream fis = new FileInputStream(filename); BufferedInputStream bis = new BufferedInputStream(fis); Certific

我目前正在开发一个应用程序,该应用程序将处理X509证书的某些字段,但我似乎不知道如何提取证书的某些部分以进行调试。到目前为止,我只能通过以下代码了解如何从基于Javadoc for java.security.cert.certificate的文件中读取证书:

FileInputStream fis = new FileInputStream(filename);
BufferedInputStream bis = new BufferedInputStream(fis);

CertificateFactory cf = CertificateFactory.getInstance("X.509");
while (bis.available() > 0) {
    Certificate cert = cf.generateCertificate(bis);
System.out.println(cert.toString());
}
假设没有抛出异常,并且证书是有效的证书,我将如何做到这一点


旁注:我在本项目中使用Bouncy Castle

将其转换为
X509证书

X509Certificate cert = (X509Certificate) cf.generateCertificate(bis);
System.out.println(cert.getSubjectDN());
available()
不是流结束的测试。在这种情况下,您应该使用。