如何以编程方式从JKS文件中检索证书的序列号?

时间:2019-01-20 12:29:13

标签: java java-ee java-8 ssl-certificate keystore

给予
JKS的路径,
JKS的密码,
证书的别名

我如何以编程方式从JKS获取证书的序列号?

1 个答案:

答案 0 :(得分:3)

您可以像这样从Java密钥库加载证书:

      char[] pwdArray = "password".toCharArray();
      KeyStore ks = KeyStore.getInstance("JKS");
      ks.load(new FileInputStream("myKeyStore.jks"), pwdArray);
      Certificate cert = ks.getCertificate("MyAlias");

基本Certificate类没有访问序列号的方法,但是我假设您正在使用X.509证书。您可以这样使用X509Certificate类:

      X509Certificate xcert = (X509Certificate) cert;
      BigInteger serial = xcert.getSerialNumber();

您可以在https://docs.oracle.com/javase/7/docs/api/java/security/cert/X509Certificate.html

的API文档中查看详细信息