java提取jks文件提取私钥_如何从JKS文件中取出PEM格式证书
如何从JKS文件中取出PEM格式证书
两个概念:
truststore:一般用来存储CA证书,所以它没有私钥。
所有从truststore一般只能提取出CA根证书。
keystore:存储普通证书可以私钥。
所有从keystore里面一般能提取出用户证书和用户私钥。
从JKS中提取PEM证书
$ keytool -export -rfc -alias -file -keystore -storepass
alias是定义在keystore里面的entry,可以使用如下命令,查看当前包含哪几个entry:
$ keytool --list -keystore -storepass
例如:
$ keytool --list -keystore server.keystore.jks -storepass
Keystore type: jks
Keystore provider: SUN
Your keystore contains 2 entries
caroot, Dec 13, 2018, trustedCertEntry,
Certificate fingerprint (SHA1): 6D:43:77:F4:42:91:A1:C7:EC:2E:B8:F4:9C:B5:6A:ED:E0:4D:CA:F6
myserver, Dec 13, 2018, PrivateKeyEntry,
Certificate fingerprint (SHA1): 79:F1:B1:C3:DB:22:1D:8B:26:FC:EB:4A:43:C1:DE:F5:92:5C:5B:83
这个JKS包含两个entry,这样在提取证书的时候可以知道alias值为caroot或者myserver。
从JKS中提取KEY
JKS没有直接的办法提取KEY,所以整个过程分三步走:
把JKS转换成P12
$ keytool -importkeystore -srckeystore -destkeystore -deststoretype PKCS12 \
-srcstorepass -deststorepass
从P12文件中提取KEY
$ openssl pkcs12 -in -nodes -nocerts -out -passin pass:
删除多余的垃圾内容
$ sed -i "1,4d"
因为在第二步提出出来的KEY文件包含垃圾头信息:
Bag Attributes
friendlyName: myserer
localKeyID: 54 69 6D 65 20 31 35 34 34 36 39 37 32 32 33 35 31 35
Key Attributes:
-----BEGIN PRIVATE KEY-----
MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCUUDfdlHnAoAYE
DXluQZv64HNfrJzbUeD29OqQ+XWBKfz+6Sc8Ag4c3qEBezdqY6W06FqT8zkXYmOe
...
aBKlYCPpppexmuwTyRGWJxa3Mc0J4q9+EhDxE3XtmLE/2Wm0mm6vecjECHYXs8KZ
RiC8QuO7nMTFMVcWtgGDeA==
-----END PRIVATE KEY-----
java提取jks文件提取私钥_如何从JKS文件中取出PEM格式证书相关推荐
- java pem,如何验证Java中的PEM格式证书
I have PEM format file, How can verify the signature in Java, as I followed http://download.oracle.c ...
- 如何将视频文件或各种类型的图片从PPT中取出
如何将视频文件或各种类型的图片从PPT中取出 有时候我们做好了PPT,但需要PPT中的视频或者一些GIF图片以及其他格式的文件,又不想要其他的内容,而制作PPT的素材找不到了,那么该怎样从PPT中取出 ...
- python提取选中文件的文件名_如何从python文件路径中提取文件名?
项目概述: 用户通过浏览器选择一个文件来导入数据.然后,我解包二进制文件.然后,我将新解包的数据保存为.csv文件,以便以后在excel中查看数据.用户当前通过键入新文件名来创建文件名.然后我继续用m ...
- angularjs java 文件上传_学习使用AngularJS文件上传控件
前段时间做项目遇到一个需求是上传文件,大概需要实现的样式是这样子的,见下图: 需要同时上传两个文件.并且规定文件格式和文件大小.因为前端框架使用angular,且不想因为一个上传功能又引入一个jque ...
- python pyc文件是啥_什么是.pyc文件
Python是一门解释性语言,我就这样一直相信下去,直到发现了*.pyc文件的存在. 如果是解释型语言,那么生成的*.pyc文件是什么呢?c应该是compiled的缩写才对啊! 为了防止其他学习Pyt ...
- tga文件怎么打开_六安软件定制文件打开的时候乱码怎么解决?
启达信息技术有限公司成立于2012年,是一家软件定制开发.移动终端应用开发的软件公司,同时也是软件云服务及企业信息化一揽子解决方案的提供商. 软件定制开发180 5607 0543 元旦的时候小编的朋 ...
- python文件的基本操作_「Python」 - 文件基本操作
以下练习,文件名.函数名.变量名有许多不规范的地方,但是也是练习python脚本,就不修正了,在Linux环境上都能成功执行. 小标题不足以代表脚本功能,具体参看描述,有一些也没有按照要求写在,主要是 ...
- js对本地文件进行加密_怎么对电脑文件进行加密
怎么保护电脑文件安全 禁止修改计算机文件内容?如何保护计算机电脑文件的安全,防止电脑文件被意外修改呢?背景电脑中的重要文件,甚至是局域网共享的文件夹,我们有必要保护其电脑文件的完整性,防止被恶意修改, ...
- centos 下载文件很慢_百度云盘上传文件和下载文件慢的解决办法
百度云盘上传文件和下载文件慢的解决办法 一:上传文件慢 1. 左下角点击搜索,输入cmd,右键以管理员身份运行 2. 在弹出的窗口中输入netsh interface tcp set global a ...
- icc校色文件使用教程_使用ICC特性文件进行校色的方法
使用 ICC 特性文件进行校色的方法 使用 ICC 特性文件进行校色的方法 使用 ICC 特性文件进行校色的方法 6 A5 s: l3 D5 M) N- \+ j9 V 武汉信息传播职业技术学院兼职 ...
最新文章
- UVa 10180 - Rope Crisis in Ropeland!
- 1025 反转链表 (25分)(最详细最简便)(套路模板)
- 通过Java 8流使用Oracle AQ
- 【渝粤教育】电大中专测量学作业 题库
- ubuntu-14.04.2-desktop使用方法
- (3)<meta>标签
- MyBatis 配置sql语句输出
- React Native 交互管理器InteractionManager
- 黑苹果使用AppleALC驱动声卡
- 讲解制作“Icon”
- java中修改上传图片大小,springMVC MultipartFile 上传图片时修改图片大小
- 【学习笔记】Kruskal 重构树(BZOJ3551【ONTAK2010】Peaks加强版)
- 给图片加ALT属性是个什么意思?有什么优点呢
- dzz云桌面1.2部分主要功能图文介绍
- HDU5442(字符串的最大表示法或者后缀数组)
- 阿里巴巴的P8Java架构师都是一群什么样的存在?
- 数值计算之 最小二乘法(3)最小二乘的矩阵解法
- phpStorm中使用模板快速创建html基本网页代码
- 基于LSTM和词嵌入的tweet文本分类
- 【Python 实战基础】什么是PyQt6? 简单介绍一下PyQt6
热门文章
- 计算机组成原理实验移位运算,移位运算实验
- 桑佛德大学计算机科学,美国桑佛德大学专业都有哪些?每个专业都有什么优势?一起来了解下吧?...
- VS 和 VS Code 更换字体
- 目标客户画像_做营销时,如何做好目标用户群体画像?
- PMP-7. 项目经理及其影响力
- 博客园的 “随笔、文章、日记”有什么区别?
- 《jike--微服务架构核心20讲》笔记
- datawhale8月组队学习《pandas数据处理与分析》(下)(文本、分类、时序数据)
- APSINx010HC系列射频模拟信号发生器—输出高达6.1GHz
- AOP之5种增强方法应用范例