一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

java读取证书公钥如何实现 java读取证书公钥实现代码

时间:2021-01-11 编辑:袖梨 来源:一聚教程网

java读取证书公钥如何实现?本篇文章小编给大家分享一下java读取证书公钥实现代码,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。

方式1:

使用javax.security.cert.X509Certificate进行解析

URL url = Demo.class.getClassLoader().getResource("C000024.crt");  //证书路径
System.out.println("公钥所在路径:"+url.getFile());
X509Certificate cert = X509Certificate.getInstance(new FileInputStream(url.getFile()));
PublicKey publicKey = cert.getPublicKey();
BASE64Encoder base64Encoder=new BASE64Encoder();
String publicKeyString = base64Encoder.encode(publicKey.getEncoded());
System.out.println("-----------------公钥--------------------");
System.out.println(publicKeyString);
System.out.println("-----------------公钥--------------------");

方式2:

使用java.security.cert.X509Certificate进行解析

URL url = Demo.class.getClassLoader().getResource("C000024.crt");  //证书路径
System.out.println("公钥所在路径:"+url.getFile());
CertificateFactory cf = CertificateFactory.getInstance("X.509");
X509Certificate cert = (X509Certificate)cf.generateCertificate(new FileInputStream(url.getFile()));
PublicKey publicKey = cert.getPublicKey(); 
BASE64Encoder base64Encoder=new BASE64Encoder();
String publicKeyString = base64Encoder.encode(publicKey.getEncoded());
System.out.println("-----------------公钥--------------------");
System.out.println(publicKeyString);
System.out.println("-----------------公钥--------------------");

说明:

因为只做示例,没有进行异常处理和流的释放,方式1的代码可能少点,方式2需要强转,美观上可能方式1更好看点,但方式1的实质还是调用的方式2,方式2内部有实现缓存策略。

热门栏目