/*** 获取  p12证书 私钥* @param p12FilePath p12证书文件路径* @param p12Pswd p12 证书密码*/public String getRsaPriKeyByP12(String p12FilePath, String p12Pswd) throws KeyStoreException, NoSuchProviderException, IOException, CertificateException, NoSuchAlgorithmException, UnrecoverableKeyException {Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider());InputStream fis = new FileInputStream(p12FilePath);KeyStore keyStore = KeyStore.getInstance("PKCS12", "BC");keyStore.load(fis, p12Pswd.toCharArray());Enumeration<String> aliases = keyStore.aliases();String keyAlias = null;if (aliases.hasMoreElements()) {keyAlias = (String) aliases.nextElement();System.out.println("p12's alias----->" + keyAlias);}// 完整 私钥对象PrivateKey priKey = (PrivateKey) (keyStore.getKey(keyAlias, null));System.out.println("私钥:\n" + priKey);// 私钥RSA字符串String rsaBase64Prikey = Base64.encodeToString(priKey.getEncoded());System.out.println("私钥RSA:\n" + rsaBase64Prikey);return rsaBase64Prikey;}/*** 获取 cer证书公钥* @param cerFilePath cer文件路径*/public String getRsaPublicKeyByCer(String cerFilePath) throws CertificateException, FileNotFoundException {// public keyInputStream is = new FileInputStream(cerFilePath);CertificateFactory cf = CertificateFactory.getInstance("x509");Certificate cerCert = cf.generateCertificate(is);// 获取 公钥对象PublicKey publicKey = cerCert.getPublicKey();// 获取  公钥RSA 公钥字符串String rsaBase64publickey = Base64.encodeToString(publicKey.getEncoded());System.out.println("public key:\n" + rsaBase64publickey);return rsaBase64publickey;}

测试

    @Testpublic void test() throws UnrecoverableKeyException, CertificateException, KeyStoreException, IOException, NoSuchAlgorithmException, NoSuchProviderException {String PayP12FilePath = "E:\\pay.p12";String PayCerFilePath = "E:\\pay.cer";String PayP12Password = "a123456";getRsaPriKeyByP12(PayP12FilePath, PayP12Password);getRsaPublicKeyByCer(PayCerFilePath );

Java 读取p12 证书私钥相关推荐

  1. java 解析p12_java读取*.p12证书的信息 | 学步园

    现在很多通讯都是在SSL上进行的.本文主要针对*.p12证书 读取里面信息. /** * ReadP12Cert.java * 版权所有(C) 2012 * 创建:cuiran 2012-07-31 ...

  2. php p12,php – 在OSX上读取p12证书时写入权限错误(OSStatus -61)

    我正在尝试通过OSX 10.9上的cURL加载文件以下命令在从我的用户帐户完成时工作正常,但在通过 PHP完成时失败(用户_www) curl https://test.test.com:8443 - ...

  3. java读取pem格式私钥_openssl生成RSA格式及pkcs1与pkcs8格式互相转换

    openssl简介 OpenSSL 是一个开源项目,其组成主要包括以下三个组件: openssl:多用途的命令行工具 libcrypto:加密算法库 libssl:加密模块应用库,实现了ssl及tls ...

  4. java读取微信证书_Java中的微信支付(2):API V3 微信平台证书的获取与刷新

    1. 前言 在Java中的微信支付(1):API V3版本签名详解一文中胖哥讲解了微信支付V3版本API的签名,当我方(你自己的服务器)请求微信支付服务器时需要根据我方的API证书对参数进行加签,微信 ...

  5. java读取pfx或P12格式的个人交换库公私钥

    使用的是CFCA签发的用于银行间交换数据的证书,下载后直接添加到浏览器中 1.导出 从浏览器导出p12文件(包含私钥) 2.验证 两种方式: openssl 代码(请注意alias别名是如何获取的): ...

  6. java p12 ssl_java读取双向证书(p12)证书向微信发送请求

    对有些微信接口为保证安全,需要p12证书进行请求, 获取证书: 获取证书的方式.png PHP用到的证书.png 证书使用说明.png 加载证书的相关请求方式代码: private static Re ...

  7. 微信支付中的p12证书提取公钥、私钥、证书、序列号等

    今天做微信支付开发,然后产品给我了相应的商户号.apikey.公众号.p12证书等等.说准备工作都已经做好了,可以进行开发了.但是我看微信文档里没有提到p12证书,都是pem证书.怎么办,百度吧. 原 ...

  8. IOS证书获取(证书profile文件,p12私钥证书,证书私钥密码,Bundle ID)

    当我们在开发一个应用APP时需要真机测试,或者上架到对应的应用市场,这时就需要 App打包(打包流程),那么打包时就需要Bundle ID.证书私钥密码.证书profile文件.私钥证书. 申请这些资 ...

  9. java 读取 指纹_java代码怎么获取数字的证书那一串20位指纹?

    展开全部 通过JAVA来读取数字证书的方法获取20位指纹: CARead.java文件代码32313133353236313431303231363533e4b893e5b19e31333339663 ...

  10. Java读取证书的两种方式

    关于证书基础以及创建.查看.删除.导入.导出以及其他功能详解请参照:Java使用keytool创建CA证书 Java读取证书有两种方式 1.从文件中读取 public static void main ...

最新文章

  1. 无状态逻辑服务器,无状态 | RESTful API 中文网
  2. Linux下修改Swap分区大小
  3. IPSec隧道配置案例(手动模式)
  4. 【JavaScript】查漏补缺 —数组中reduce()方法
  5. 【转载】opencl中设备内存
  6. PHP list() 函数
  7. hadoop2.2.0 core-site.xml--global properties
  8. 电路基础第5版读书笔记(第一章基本概念)
  9. 13、Nepxion Discovery 之 全链路调用链监控
  10. php判断股票涨停,情绪周期的简单判断与选股(图解)
  11. Ubuntu 设置默认播放器、浏览器、图片查看器
  12. 安卓开发 之小白养成-Android适配
  13. 电子元器件分销业ERP系统供应链解决方案
  14. Daily record-July
  15. 计算分段函数[2](C语言)
  16. 在 ionic 项目中使用(迁移) capacitor
  17. python 人体检测技术_tensorflow入门教程(四十三)人体姿态检测(一)
  18. 服务器集群虚拟化内存漂移,浅谈医院高稳定性虚拟化集群的部署
  19. 学习记录-----------关于 联想笔记本电脑 摄像头工作几秒 页面就卡住问题 的解决办法
  20. CAD牙孔lisp_分解vlx - AutoLISP/Visual LISP 编程技术 - CAD论坛 - 明经CAD社区 - Powered by Discuz!...

热门文章

  1. 脉冲计数器单片机c语言编程,基于单片机的光电计数器
  2. NB-IOT+GPS模组
  3. X265代码学习1-X265源码下载编译及VS调试配置
  4. 浏览器开发者工具,自己设置屏幕分辨率调试(chrome)
  5. Spring tool suite修改主题
  6. 多元统计分析基于r课后答案_应用多元统计分析课后答案.doc
  7. 测试面试题+测试面试宝典(分类版)
  8. Unity 官方标准资源下载(standard assets)2种方式
  9. DDOS硬件防火墙DIY技术揭密
  10. class不生效 weblogic_weblogic部署常见问题