【发布时间】:2019-01-20 12:29:13
【问题描述】:
鉴于:
JKS 的路径,
JKS 的密码,
证书的别名
如何以编程方式从 JKS 获取证书的序列号?
【问题讨论】:
-
你试过什么?你发现了什么问题?
标签: java jakarta-ee java-8 ssl-certificate keystore
鉴于:
JKS 的路径,
JKS 的密码,
证书的别名
如何以编程方式从 JKS 获取证书的序列号?
【问题讨论】:
标签: java jakarta-ee java-8 ssl-certificate keystore
您可以像这样从 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 文档中查看详细信息
【讨论】: