java读取pfx或P12格式的个人交换库公私钥
使用的是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格式的个人交换库公私钥相关推荐
- p12解析流程_解析p12格式的程序(提取公钥和私钥)
公钥和私钥 在现代密码体制中加密和解密是采用不同的密钥(公开密钥),也就是非对称密钥密码系统,每个通信方均需要两个密钥,即公钥和私钥,这两把密钥可以互为加解密.公钥是公开的,不需要保密,而私钥是由个人 ...
- EasyUI+JSP之java读取数据库后JSON格式数据的返回及调用
做作业工程中遇到一些问题,特此记录一下 解决的问题:使用EasyUI框架搭建简单学生管理系统(数据库增删改查)操作时配合JSP,不知道如何把从数据库获得的数据封装成JSON格式并传回前端JSP并进行展 ...
- 通过Java生成.pfx(.p12)证书文件
private void createPfxCert() throws InvalidAlgorithmParameterException, NoSuchAlgorithmException, No ...
- Java处理PFX格式证书
原文地址:http://www.educity.cn/java/504644.html 在Security编程中,有几种典型的密码交换信息文件格式: DER-encoded certificate: ...
- JAVA读取EMF文件并转化为PNG,JPG,GIF格式
JAVA读取EMF文件并转化为PNG,JPG,GIF格式 使用第三方库下载地址为:http://java.freehep.org/vectorgraphics/index.html 主要思路: 使用E ...
- java方法的通用格式,【学习笔记】使用Java读取、写入Excel全版本(包含xls、xslx格式)通用方法及代码展示(POI)...
POI是Java编写的开源跨平台Excel处理工具,不仅提供了对Excel的操作,也提供了对Word.PowerPoint和Visio等格式的文档的操作. jar包下载 基于Maven工程的pom.x ...
- java读取带格式word文档_Java读取word文档解决方案
java读取word文档时,虽然网上介绍了很多插件poi.java2Word.jacob.itext等等,poi无法读取格式(新的API估计行好像还在处于研发阶段,不太稳定,做项目不太敢用):java ...
- Java读取UTF-8格式txt文件第一行出现乱码及解决;Java读带有BOM的UTF-8文件乱码原因及解决方法(转载)...
原文地址:http://blog.csdn.net/jackpk/article/details/5702964/ Java读取UTF-8的txt文件第一行出现乱码"?"及解决 t ...
- java代码里的JSON格式怎么写好看_python3 循环读取excel文件并写入json操作
文件内容: excel内容: 代码: import xlrdimport jsonimport operatordef read_xlsx(filename): # 打开excel文件 data1 = ...
最新文章
- AI人脸识别 生物识别 活体检测 的发展历程
- CentOs安装ssh服务
- 计算机教师应该读的书籍,信息技术教师读书心得
- python基础:序列(列表、元组、字符串)、函数、字典、集合
- 前端学习(2759):button按钮使用
- github访问很慢解决方案
- JavaScript丧尸游戏开发教程
- 《Redis视频教程》(p10)
- 设计模式之里氏宗青出于蓝而胜于蓝
- oracle adf源代码在哪里,第 3 章 | 从设计到实践全面了解 Oracle ADF 应用程序
- CrawlSpider实现微信小程序社区爬虫
- 如何用数学课件制作工具演示正方体展开动画
- Android 动画
- oracle转换人民币,月光软件站 - 编程文档 - 数据库 - 如何在ORACLE中實現人民幣大寫的轉換...
- Django cms 教程五:添加内容
- LabVIEW控制Arduino实现示波器(基础篇—7)
- UESTC 1546 Bracket Sequence
- 【Flnik】解决提交程序到flink集群的异常:Could not complete snapshot 3 for operator Source...
- u盘不小心格式化了怎么办?用u盘数据恢复软件
- Oracle 日期加减年,ORACLE 日期加减操作