java中怎么读取.pem格式文件中的 PrivateKey-CSDN论坛
2021-01-22 0
以下命令来生成密钥对。
$openssl genrsa -out mykey.pem 2048
$openssl pkcs8 -topk8 -inform PEM -outform PEM -in mykey.pem
-out private_key.pem -nocrypt
这个命令得到的公共密钥。
$ openssl rsa -in mykey.pem -pubout -outform DER -out public_key.der
我写了法读取私钥和公钥
分别。public PrivateKey getPemPrivateKey(String filename, String algorithm) throws Exception {
File f = new File(filename);
FileInputStream fis = new FileInputStream(f);
DataInputStream dis = new DataInputStream(fis);
byte[] keyBytes = new byte[(int) f.length()];
dis.readFully(keyBytes);
dis.close();
String temp = new String(keyBytes);
String privKeyPEM = temp.replace("-----BEGIN PRIVATE KEY-----n", "");
privKeyPEM = privKeyPEM.replace("-----END PRIVATE KEY-----", "");
//System.out.println("Private keyn"+privKeyPEM);
Base64 b64 = new Base64();
byte [] decoded = b64.decode(privKeyPEM);
PKCS8EncodedKeySpec spec = new PKCS8EncodedKeySpec(decoded);
KeyFactory kf = KeyFactory.getInstance(algorithm);
return kf.generatePrivate(spec);
}
public PublicKey getPemPublicKey(String filename, String algorithm) throws Exception {
File f = new File(filename);
FileInputStream fis = new FileInputStream(f);
DataInputStream dis = new DataInputStream(fis);
byte[] keyBytes = new byte[(int) f.length()];
dis.readFully(keyBytes);
dis.close();
String temp = new String(keyBytes);
String publicKeyPEM = temp.replace("-----BEGIN PUBLIC KEY-----n", "");
publicKeyPEM = privKeyPEM.replace("-----END PUBLIC KEY-----", "");
Base64 b64 = new Base64();
byte [] decoded = b64.decode(publicKeyPEM);
X509EncodedKeySpec spec =
new X509EncodedKeySpec(decoded);
KeyFactory kf = KeyFactory.getInstance(algorithm);
return kf.generatePublic(spec);
}
$openssl genrsa -out mykey.pem 2048
$openssl pkcs8 -topk8 -inform PEM -outform PEM -in mykey.pem
-out private_key.pem -nocrypt
这个命令得到的公共密钥。
$ openssl rsa -in mykey.pem -pubout -outform DER -out public_key.der
我写了法读取私钥和公钥
分别。public PrivateKey getPemPrivateKey(String filename, String algorithm) throws Exception {
File f = new File(filename);
FileInputStream fis = new FileInputStream(f);
DataInputStream dis = new DataInputStream(fis);
byte[] keyBytes = new byte[(int) f.length()];
dis.readFully(keyBytes);
dis.close();
String temp = new String(keyBytes);
String privKeyPEM = temp.replace("-----BEGIN PRIVATE KEY-----n", "");
privKeyPEM = privKeyPEM.replace("-----END PRIVATE KEY-----", "");
//System.out.println("Private keyn"+privKeyPEM);
Base64 b64 = new Base64();
byte [] decoded = b64.decode(privKeyPEM);
PKCS8EncodedKeySpec spec = new PKCS8EncodedKeySpec(decoded);
KeyFactory kf = KeyFactory.getInstance(algorithm);
return kf.generatePrivate(spec);
}
public PublicKey getPemPublicKey(String filename, String algorithm) throws Exception {
File f = new File(filename);
FileInputStream fis = new FileInputStream(f);
DataInputStream dis = new DataInputStream(fis);
byte[] keyBytes = new byte[(int) f.length()];
dis.readFully(keyBytes);
dis.close();
String temp = new String(keyBytes);
String publicKeyPEM = temp.replace("-----BEGIN PUBLIC KEY-----n", "");
publicKeyPEM = privKeyPEM.replace("-----END PUBLIC KEY-----", "");
Base64 b64 = new Base64();
byte [] decoded = b64.decode(publicKeyPEM);
X509EncodedKeySpec spec =
new X509EncodedKeySpec(decoded);
KeyFactory kf = KeyFactory.getInstance(algorithm);
return kf.generatePublic(spec);
}
- 上一篇:七日杀a15哪个mod有大蜘蛛
- 下一篇:crazy kids的音译歌词
相关文章
-
半壶纱 陶笛简谱
-
黑色鞋子好配衣服么
-
在美国NBA官网怎么看比赛?
-
求布依族图腾象征的意义,急啊!
-
UCC德曼特2.0油压碟刹用什么油?
-
iwillcomeontime
-
求爆破音词语。一个用爆破音词语吹蜡烛的活动游戏,需要我们提供大量爆破音词语,谢谢大家。
-
win7封装精简工具
-
意大利面的日语怎么讲
-
《热播剧:天地民心》txt全集下载
-
qq情侣网名两个字
-
用戴维宁定理求图所示电路的电流I。(怎么从端口看电阻?)
- 赤峰社保局微信公众号
- 深圳到梅州有飞机坐吗
- 半壶纱 陶笛简谱
- win10系统玩英雄联盟锁帧60怎么解除?
- 黑色鞋子好配衣服么
- 魔兽便携式播放器
- 有关冷静的名人故事,一定要是关于冷静 故事(3个以上)
- 四川航空航班查询
- Let me love you 伴奏,Alex Goot翻唱的,表演用,急
- 刚买了台华硕X450ep的笔记本!处理器是AMD,A4-5000!我买了3200~这个价格被坑了吗
- 求周杰伦<安静>钢琴版的左手伴奏简谱
- 手机skype怎么注册
- Vue2中怎么实现Vue1中的广播事件
- keynote for mac 破解版下载
- 请影视大神帮忙找《蜕变 Metamorphosis: The Alien Factor (1990)》这部电影,急求!!!谢谢帮助!!
- 客户想买房看了图片大至喜欢,就问最低价是多少?
- 在美国NBA官网怎么看比赛?
- 求布依族图腾象征的意义,急啊!
- iec61968 3标准中文版
- 日语中的‘今日’和‘今夜’分别怎么念的?
- 本周热门
-
-
04-19
-
07-13
-
07-02
-
04-20
-
12-14
-
10-10
-
06-08
-
- 本月热门
-
- “吉时吉日吉如风,丰年丰月如风筝”后面是什么?
- 75H罩杯是多大?拿个食物做比较呗?
- 楼上经常很吵,楼下如何反击对付恶邻?这几个办法一定帮到你!
- 美帝变国产:VIZIO声吧晒单及无线5.1家庭影院汇总
- 求网王真幸,忍迹的bl文要压缩包越多越好
- abigaile johnson哪部好看
- 《魔兽世界》看,英灵殿 是什么梗
- 魔兽世界寂静无声任务在哪接?
- 考研·翻译硕士:湿地公园和世界文化遗产英文译名(旅游英语)
- 犬夜叉神无h本子
- 如何用sigmaplot做出这样的图
- WOW的流沙外套和守护圣徒长袍怎么搭配幻化
- 王安石的《元日》的诗意
- 亲手搞定一场高颜值的BBQ
- 可以在线听猫咪呼噜声的网站,云吸猫的你,值得拥有
- 艳香迷醉未删节
- 我想看a集片用什么软件
- 360奇酷手机怎么双清
- 弱电箱 英文怎么写
- 韩国lm kids童装批发
- 有谁知道 背带裤(工人裤)英文是什么呢
- 图解中西方文化差异 一个德国人用图阐释中西文化巨大差异!
- etude house soonjung 5-panthensoside cica balm是什么东西
- lg v20 f800l刷机成f800s刷回变串码吗
- “冰碴子驹骊”或者“冰碴子驹里”是什么意思
- 韩国电影《小姐》:贵族小姐与丫鬟的同性恋
- 夏日美味:这些水果超甜却低糖!减肥原来还能这样吃
- 歌魔绝代介 等纳哩晓死
- 有多少人在没有结婚前割包皮的?
- 苹果商店无法搜索