一:需要包含的包
import
java.security.
*
;
import
java.io.
*
;
import
java.util.
*
;
import
java.security.
*
;
import
java.security.cert.
*
;
import
sun.security.x509.
*
import
java.security.cert.Certificate;
import
java.security.cert.CertificateFactory;
二:从文件中读取证书
用keytool将.keystore中的证书写入文件中,然后从该文件中读取证书信息
CertificateFactory cf
=
CertificateFactory.getInstance(
"
X.509
"
);
FileInputStream in
=
new
FileInputStream(
"
out.csr
"
);
Certificate c
=
cf.generateCertificate(in);
String s
=
c.toString();
三:从密钥库中直接读取证书
String pass
=
"
123456
"
;
FileInputStream in
=
new
FileInputStream(
"
.keystore
"
);
KeyStore ks
=
KeyStore.getInstance(
"
JKS
"
);
ks.load(in,pass.toCharArray());
java.security.cert.Certificate c
=
ks.getCertificate(alias);
//
alias为条目的别名
四:JAVA程序中显示证书指定信息
System.out.println(
"
输出证书信息:\n
"
+
c.toString());
System.out.println(
"
版本号:
"
+
t.getVersion());
System.out.println(
"
序列号:
"
+
t.getSerialNumber().toString(
16
));
System.out.println(
"
主体名:
"
+
t.getSubjectDN());
System.out.println(
"
签发者:
"
+
t.getIssuerDN());
System.out.println(
"
有效期:
"
+
t.getNotBefore());