2016-12-13 48 views
1

現在、X509証明書の特定のフィールドを処理するアプリケーションで作業していますが、デバッグ目的で証明書の特定部分を抽出する方法がわかりません。これまでのところ私はこのコードを使用して、たjava.security.cert.CertificateのJavadocに基づいてファイルから証明書を読み取る方法を見つけ出すことができました:JavaでX509証明書フィールドを抽出する方法

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()); 
} 

には、例外がスローされていないと仮定すると、その証明書は有効な証明書ですが、どうすればこのことができますか?

追記私は

+1

( '利用可能)'ストリームの終わりのためのテストではありません。これには、[generateCertificates() '](https://docs.oracle.com/javase/8/docs/api/java/security/cert/CertificateFactory.html#generateCertificates-java.io.InputStream-)を使用する必要があります。場合。 – EJP

答えて

3

X509Certificateにキャストこのプロジェクトで弾む城を使用しています:

X509Certificate cert = (X509Certificate) cf.generateCertificate(bis); 
System.out.println(cert.getSubjectDN()); 
関連する問題