java pfx_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格式的个人交换库
*
* 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、使用
发布公钥或者双向认证等。
具体代码略...
java pfx_java读取pfx或P12格式的个人交换库公私钥相关推荐
- java读取pfx或P12格式的个人交换库公私钥
使用的是CFCA签发的用于银行间交换数据的证书,下载后直接添加到浏览器中 1.导出 从浏览器导出p12文件(包含私钥) 2.验证 两种方式: openssl 代码(请注意alias别名是如何获取的): ...
- Java(111):非对称加密RSA的使用(openssl生成RSA公私钥对)
Java(111):非对称加密RSA的使用(openssl生成RSA公私钥对) 1.openssl生成RSA公私钥对 [root@loaclhost ~]# openssl version OpenS ...
- p12解析流程_解析p12格式的程序(提取公钥和私钥)
公钥和私钥 在现代密码体制中加密和解密是采用不同的密钥(公开密钥),也就是非对称密钥密码系统,每个通信方均需要两个密钥,即公钥和私钥,这两把密钥可以互为加解密.公钥是公开的,不需要保密,而私钥是由个人 ...
- python读二进制格点雷达基数据_radar: 基于python pycinrad 以及多种类库 编写基于java 的雷达基数据统一格式读取...
radar-core 介绍 基于python pycinrad 以及多种类库 编写基于java 的雷达基数据统一格式读取 包括读取分层ppi.插值到等经纬度的网格化ppi以及 cappi.vcs等基本 ...
- java p12 ssl_从 p12 格式 SSL 证书解出 pem 格式公钥私钥给 Postman 使用
目的 Postman 的(非 Chrome 扩展版的)app 并不能读取系统中的客户端证书,这种调试要发送客户端证书的 https 请求的时候就得自己另外设置. 系统直接导出证书有 cer 和 p12 ...
- java雷达数据解析_radar: 基于python pycinrad 以及多种类库 编写基于java 的雷达基数据统一格式读取...
radar-core 介绍 基于python pycinrad 以及多种类库 编写基于java 的雷达基数据统一格式读取 包括读取分层ppi.插值到等经纬度的网格化ppi以及 cappi.vcs等基本 ...
- openssl 生成证书_使用证书和私钥导出P12格式个人证书!
[OpenSSL]使用证书和私钥导出P12格式个人证书 1, 产生CA证书 1.1, 生成ca的私钥 openssl genrsa -out cakey.pem 2048 1.2, 生成ca的自签名证 ...
- java spark 读取json_apache-spark - 与aws-java-sdk链接时,在读取json文件时发生Spark崩溃 - 堆栈内存溢出...
让config.json成为一个小的json文件: { "toto": 1 } 我做了一个简单的代码,用sc.textFile读取json文件(因为文件可以在S3,本地或HDFS上 ...
- java pfx提取私钥加签,详解pfx证书提取公私钥的方法
什么是pfx 公钥加密技术12号标准. 公钥加密技术12号标准(Public Key Cryptography Standards #12,PKCS#12)为存储和传输用户或服务器私钥.公钥和证书指定 ...
- java准确读取word文件页数
转自:https://blog.csdn.net/tiandixuanwuliang/article/details/71298406 由于本人在做一个网上打印网站,遇到了一个需求是"准确读 ...
最新文章
- undefined reference to `libiconv_open 无法编译PHP libiconv
- Swift iOS : 字体图标
- 在医疗领域你知道哪些人工智能黑科技?
- 接收udp数据_聊聊UDP、TCP和实现一个简单的JAVA UDP小Demo
- 分析方法的基础 — 1. 拆分能力,分析师的第一技能
- VMware虚拟机更换根用户( su: Authentication failure问题)
- (译).NET4.X并行任务Task需要释放吗?
- python字符串出栈方法_Python学习之路_day_04(字符串与列表的内置方法)
- 吉大 c语言程序设计 51课 6cd,03MCS51单片机C语言程序设计.ppt
- 技巧篇:常用的vba代码汇总
- 【Qt象棋游戏】05_象棋走棋规则——象、马、将、兵
- 《Data Algorithm》读书笔记七 — 购物篮分析
- win7计算机系统还原,使用Win7系统自带的系统还原功能将电脑恢复到正常状态
- Flutter在Android平台实现消息推送
- 洛谷 P2884 【[USACO07MAR]每月的费用Monthly Expense】
- javaScript-力扣-题库-11. 盛最多水的容器
- Do You Kown Asp.Net Core -- Asp.Net Core 2.0 未来web开发新趋势 Razor Page
- 实操:怎么从数据切入私域长效运营?可以这样做
- OSChina 周日乱弹 —— 有鬼故事!胆小勿入
- 为 CentOS 配置网络
热门文章
- 9.2. switchport trunk encapsulation dot1q 提示 invaild input at^marker.
- 小米技术分享:解密小米抢购系统千万高并发架构的演进和实践
- 我与鸟哥 Yar 的亲密接触
- python画频率直方图_用matplotlib画直方图(histogram)
- Arthas线上问题定位神器
- Arthas线上代码诊断神器-定位问题
- 基于北京二手房价数据的探索性数据分析和房价评估——数据的可视化分析
- 大学英语六级超全复习资料
- python二级操作题评分方法_第二卷讲解Python语言计算机等级考试二级操作题
- 块存储、文件存储、对象存储三者的区别