天天看點

JAVA 讀出證書的資訊

先生成:

1 産生密鑰

D:/>keytool -genkey -alias wenger -keysize 1024 -keypass abcdef -keystore myKeys

tore -storepass abcdef -dname "CN=chen sr, OU=tanglab, O=lab, L=gz, ST=gd, C=cn"

2 導出密鑰,用證書的形式儲存

D:/>keytool -export -alias wenger -file mycert.cer -keystore myKeystore -storepass abcdef

儲存在檔案中的認證 <mycert.cer>

import java.io.*;

JAVA 讀出證書的資訊

import java.security.cert.*;

JAVA 讀出證書的資訊
JAVA 讀出證書的資訊

public class TestCert {

JAVA 讀出證書的資訊

  public static void main(String[] args) {

JAVA 讀出證書的資訊

    try {

JAVA 讀出證書的資訊

      FileInputStream fis = new FileInputStream("mycert.cer");

JAVA 讀出證書的資訊

      CertificateFactory cf=CertificateFactory.getInstance("X509");

JAVA 讀出證書的資訊

      X509Certificate c=(X509Certificate) cf.generateCertificate(fis);

JAVA 讀出證書的資訊

      System.out.println("Certficate for" + c.getSubjectDN());

JAVA 讀出證書的資訊

      System.out.println("Generated with "+c.getSigAlgName());

JAVA 讀出證書的資訊

    }

JAVA 讀出證書的資訊

    catch (FileNotFoundException ex) {

JAVA 讀出證書的資訊
JAVA 讀出證書的資訊

    catch (CertificateException ex) {

JAVA 讀出證書的資訊

      /** @todo Handle this exception */

JAVA 讀出證書的資訊
JAVA 讀出證書的資訊
JAVA 讀出證書的資訊

  }

JAVA 讀出證書的資訊

}

輸出:

Certficate forCN=chen sr, OU=tanglab, O=lab, L=gz, ST=gd, C=cn

Generated with SHA1withDSA