我是靠谱客的博主 落后豆芽,最近开发中收集的这篇文章主要介绍java读取证书公钥,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

方式1:使用javax.security.cert.X509Certificate进行解析

[java] view plain copy

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

 

方式2:使用java.security.cert.X509Certificate进行解析

[java] view plain copy

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

[java] view plain copy

  1.   

说明:因为只做示例,没有进行异常处理和流的释放,方式1的代码可能少点,方式2需要强转,美观上可能方式1更好看点,但方式1的实质还是调用的方式2,方式2内部有实现缓存策略.更多可以参考下api文档,文档上有提供示例.

最后

以上就是落后豆芽为你收集整理的java读取证书公钥的全部内容,希望文章能够帮你解决java读取证书公钥所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部