使用的是CFCA签发的用于银行间交换数据的证书,下载后直接添加到浏览器中

1、导出

从浏览器导出p12文件(包含私钥)

2、验证

两种方式:

openssl

代码(请注意alias别名是如何获取的):

package com.shengpay.mas.demo.cert;import org.apache.commons.codec.binary.Base64;import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.security.*;
import java.security.cert.*;
import java.security.cert.Certificate;
import java.util.Enumeration;/*** Description: 读取P12格式的个人交换库* <p>* User: lishaohua* Date: 2017/12/27  12:51*/
public class P12Demo {public static void main(String[] args) throws KeyStoreException, IOException, CertificateException, NoSuchAlgorithmException, UnrecoverableKeyException {String keyStorePath = "D:/123456.pfx";String password = "123456";// 实例化密钥库,默认JKS类型KeyStore ks = KeyStore.getInstance("PKCS12");// 获得密钥库文件流FileInputStream is = new FileInputStream(keyStorePath);// 加载密钥库ks.load(is, password.toCharArray());// 关闭密钥库文件流is.close();//私钥Enumeration aliases = ks.aliases();String keyAlias = null;if (aliases.hasMoreElements()){keyAlias = (String)aliases.nextElement();System.out.println("p12's alias----->"+keyAlias);}PrivateKey privateKey = (PrivateKey) ks.getKey(keyAlias, password.toCharArray());String privateKeyStr = Base64.encodeBase64String(privateKey.getEncoded());System.out.println("私钥------------->" + privateKeyStr);//公钥Certificate certificate = ks.getCertificate(keyAlias);String publicKeyStr = Base64.encodeBase64String(certificate.getPublicKey().getEncoded());System.out.println("公钥------------->"+publicKeyStr);}
}

  

3、使用

发布公钥或者双向认证等。

具体代码略...

转载于:https://www.cnblogs.com/huahua035/p/8125311.html

java读取pfx或P12格式的个人交换库公私钥相关推荐

  1. p12解析流程_解析p12格式的程序(提取公钥和私钥)

    公钥和私钥 在现代密码体制中加密和解密是采用不同的密钥(公开密钥),也就是非对称密钥密码系统,每个通信方均需要两个密钥,即公钥和私钥,这两把密钥可以互为加解密.公钥是公开的,不需要保密,而私钥是由个人 ...

  2. EasyUI+JSP之java读取数据库后JSON格式数据的返回及调用

    做作业工程中遇到一些问题,特此记录一下 解决的问题:使用EasyUI框架搭建简单学生管理系统(数据库增删改查)操作时配合JSP,不知道如何把从数据库获得的数据封装成JSON格式并传回前端JSP并进行展 ...

  3. 通过Java生成.pfx(.p12)证书文件

    private void createPfxCert() throws InvalidAlgorithmParameterException, NoSuchAlgorithmException, No ...

  4. Java处理PFX格式证书

    原文地址:http://www.educity.cn/java/504644.html 在Security编程中,有几种典型的密码交换信息文件格式: DER-encoded certificate: ...

  5. JAVA读取EMF文件并转化为PNG,JPG,GIF格式

    JAVA读取EMF文件并转化为PNG,JPG,GIF格式 使用第三方库下载地址为:http://java.freehep.org/vectorgraphics/index.html 主要思路: 使用E ...

  6. java方法的通用格式,【学习笔记】使用Java读取、写入Excel全版本(包含xls、xslx格式)通用方法及代码展示(POI)...

    POI是Java编写的开源跨平台Excel处理工具,不仅提供了对Excel的操作,也提供了对Word.PowerPoint和Visio等格式的文档的操作. jar包下载 基于Maven工程的pom.x ...

  7. java读取带格式word文档_Java读取word文档解决方案

    java读取word文档时,虽然网上介绍了很多插件poi.java2Word.jacob.itext等等,poi无法读取格式(新的API估计行好像还在处于研发阶段,不太稳定,做项目不太敢用):java ...

  8. Java读取UTF-8格式txt文件第一行出现乱码及解决;Java读带有BOM的UTF-8文件乱码原因及解决方法(转载)...

    原文地址:http://blog.csdn.net/jackpk/article/details/5702964/ Java读取UTF-8的txt文件第一行出现乱码"?"及解决 t ...

  9. java代码里的JSON格式怎么写好看_python3 循环读取excel文件并写入json操作

    文件内容: excel内容: 代码: import xlrdimport jsonimport operatordef read_xlsx(filename): # 打开excel文件 data1 = ...

最新文章

  1. AI人脸识别 生物识别 活体检测 的发展历程
  2. CentOs安装ssh服务
  3. 计算机教师应该读的书籍,信息技术教师读书心得
  4. python基础:序列(列表、元组、字符串)、函数、字典、集合
  5. 前端学习(2759):button按钮使用
  6. github访问很慢解决方案
  7. JavaScript丧尸游戏开发教程
  8. 《Redis视频教程》(p10)
  9. 设计模式之里氏宗青出于蓝而胜于蓝
  10. oracle adf源代码在哪里,第 3 章 | 从设计到实践全面了解 Oracle ADF 应用程序
  11. CrawlSpider实现微信小程序社区爬虫
  12. 如何用数学课件制作工具演示正方体展开动画
  13. Android 动画
  14. oracle转换人民币,月光软件站 - 编程文档 - 数据库 - 如何在ORACLE中實現人民幣大寫的轉換...
  15. Django cms 教程五:添加内容
  16. LabVIEW控制Arduino实现示波器(基础篇—7)
  17. UESTC 1546 Bracket Sequence
  18. 【Flnik】解决提交程序到flink集群的异常:Could not complete snapshot 3 for operator Source...
  19. u盘不小心格式化了怎么办?用u盘数据恢复软件
  20. Oracle 日期加减年,ORACLE 日期加减操作

热门文章

  1. Linux 软件的安装
  2. oracle em命令行配置及界面按钮乱码问题解决方法
  3. 有关于微软的IWebBrowser2::Navigate2/Navigate方法
  4. 剑桥大学eap入学测试准备!!!救命稻草
  5. Macbook m1 install Homebrew
  6. 廖大python实战项目第三天
  7. css3的动画详解 html直接可以运行
  8. spring boot 限制初始值大小及参数中文详解
  9. 由Effiproz DataBase来看.NET开源数据库发展
  10. Lync通过IP地址网段显示地理位置