使用的是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格式的个人交换库公私钥相关推荐

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

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

  2. Java(111):非对称加密RSA的使用(openssl生成RSA公私钥对)

    Java(111):非对称加密RSA的使用(openssl生成RSA公私钥对) 1.openssl生成RSA公私钥对 [root@loaclhost ~]# openssl version OpenS ...

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

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

  4. python读二进制格点雷达基数据_radar: 基于python pycinrad 以及多种类库 编写基于java 的雷达基数据统一格式读取...

    radar-core 介绍 基于python pycinrad 以及多种类库 编写基于java 的雷达基数据统一格式读取 包括读取分层ppi.插值到等经纬度的网格化ppi以及 cappi.vcs等基本 ...

  5. java p12 ssl_从 p12 格式 SSL 证书解出 pem 格式公钥私钥给 Postman 使用

    目的 Postman 的(非 Chrome 扩展版的)app 并不能读取系统中的客户端证书,这种调试要发送客户端证书的 https 请求的时候就得自己另外设置. 系统直接导出证书有 cer 和 p12 ...

  6. java雷达数据解析_radar: 基于python pycinrad 以及多种类库 编写基于java 的雷达基数据统一格式读取...

    radar-core 介绍 基于python pycinrad 以及多种类库 编写基于java 的雷达基数据统一格式读取 包括读取分层ppi.插值到等经纬度的网格化ppi以及 cappi.vcs等基本 ...

  7. openssl 生成证书_使用证书和私钥导出P12格式个人证书!

    [OpenSSL]使用证书和私钥导出P12格式个人证书 1, 产生CA证书 1.1, 生成ca的私钥 openssl genrsa -out cakey.pem 2048 1.2, 生成ca的自签名证 ...

  8. java spark 读取json_apache-spark - 与aws-java-sdk链接时,在读取json文件时发生Spark崩溃 - 堆栈内存溢出...

    让config.json成为一个小的json文件: { "toto": 1 } 我做了一个简单的代码,用sc.textFile读取json文件(因为文件可以在S3,本地或HDFS上 ...

  9. java pfx提取私钥加签,详解pfx证书提取公私钥的方法

    什么是pfx 公钥加密技术12号标准. 公钥加密技术12号标准(Public Key Cryptography Standards #12,PKCS#12)为存储和传输用户或服务器私钥.公钥和证书指定 ...

  10. java准确读取word文件页数

    转自:https://blog.csdn.net/tiandixuanwuliang/article/details/71298406 由于本人在做一个网上打印网站,遇到了一个需求是"准确读 ...

最新文章

  1. undefined reference to `libiconv_open 无法编译PHP libiconv
  2. Swift iOS : 字体图标
  3. 在医疗领域你知道哪些人工智能黑科技?
  4. 接收udp数据_聊聊UDP、TCP和实现一个简单的JAVA UDP小Demo
  5. 分析方法的基础 — 1. 拆分能力,分析师的第一技能
  6. VMware虚拟机更换根用户( su: Authentication failure问题)
  7. (译).NET4.X并行任务Task需要释放吗?
  8. python字符串出栈方法_Python学习之路_day_04(字符串与列表的内置方法)
  9. 吉大 c语言程序设计 51课 6cd,03MCS51单片机C语言程序设计.ppt
  10. 技巧篇:常用的vba代码汇总
  11. 【Qt象棋游戏】05_象棋走棋规则——象、马、将、兵
  12. 《Data Algorithm》读书笔记七 — 购物篮分析
  13. win7计算机系统还原,使用Win7系统自带的系统还原功能将电脑恢复到正常状态
  14. Flutter在Android平台实现消息推送
  15. 洛谷 P2884 【[USACO07MAR]每月的费用Monthly Expense】
  16. javaScript-力扣-题库-11. 盛最多水的容器
  17. Do You Kown Asp.Net Core -- Asp.Net Core 2.0 未来web开发新趋势 Razor Page
  18. 实操:怎么从数据切入私域长效运营?可以这样做
  19. OSChina 周日乱弹 —— 有鬼故事!胆小勿入
  20. 为 CentOS 配置网络

热门文章

  1. 9.2. switchport trunk encapsulation dot1q 提示 invaild input at^marker.
  2. 小米技术分享:解密小米抢购系统千万高并发架构的演进和实践
  3. 我与鸟哥 Yar 的亲密接触
  4. python画频率直方图_用matplotlib画直方图(histogram)
  5. Arthas线上问题定位神器
  6. Arthas线上代码诊断神器-定位问题
  7. 基于北京二手房价数据的探索性数据分析和房价评估——数据的可视化分析
  8. 大学英语六级超全复习资料
  9. python二级操作题评分方法_第二卷讲解Python语言计算机等级考试二级操作题
  10. 块存储、文件存储、对象存储三者的区别