关于keystore 证书转*.x509.pem 和*.pk8
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">最近同事分享了一篇文章</span><a target=_blank href="https://jaq.alibaba.com/community/art/show?spm=a313e.7916646.24000001.8.IxjB6x&articleid=339" style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">文章链接</a><span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"> ,是关于动态调试的,后来仔细一看,这个功能可不止动态调试那么简单了,用不好可是能做很多坏事呢</span><img alt="生气" src="http://static.blog.csdn.net/xheditor/xheditor_emot/default/mad.gif" style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);" /><span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">。</span>
但是我可以怀着学习技术的心情在看,绝不做坏事。
这个文章说到了,怎么把classes.dex转成smali格式,smali相当于android的汇编语言;然后嵌入代码,最后重新打包。
问题出在最后,我手上的签名文件只有keystore类型,但是打包方式是
java -jar signapk.jar cert.x509.pem private.pk8 *.apk signed.apk
我想应该有工具可以对证书进行转换吧,我搜索了一番,还真有!但貌似是个人做工具,还要分才能下。被逼无奈,只好自己搞一个吧。
在网络搜集了一些资料以后,准备下手了。
第一步:先准备好你的签名证书,debug.keystore(随便取了个名字)
第二步,转换
#keytool -importkeystore -srckeystore debug.keystore -destkeystore tmp.p12 -srcstoretype JKS -deststoretype PKCS12 >>info.txt
这一步将keystore转换为PKCS12格式,这样还不能查看证书信息了。
第三步,
#openssl pkcs12 -in tmp.p12 -nodes -out tmp.rsa.pem >>info.txt
这时候我们得到tmp.rsa.pem。这里面有我们需要的信息:
Bag AttributesfriendlyName: ****localKeyID: *******
Key Attributes: <No Attributes>
-----BEGIN PRIVATE KEY-----
*******
-----END PRIVATE KEY-----
Bag AttributesfriendlyName: ****localKeyID:****
******
-----BEGIN CERTIFICATE-----
******************
-----END CERTIFICATE-----
(********内容不可见光,所以你们看不到)
大概就是这样的格式,看内容,证书的秘钥和私钥我们都拿到了。
接下来才是重要的
第五步,创建两个文件,分别是my.x509.pem和myprivate.rsa.pem,这两个文件的内容分别是:
my.x509.pem
Bag AttributesfriendlyName: ****localKeyID:****
******
-----BEGIN CERTIFICATE-----
******************
-----END CERTIFICATE-----
myprivate.rsa.pem
Bag AttributesfriendlyName: ****localKeyID: *******
Key Attributes: <No Attributes>
-----BEGIN PRIVATE KEY-----
*******
-----END PRIVATE KEY-----
到这个已经成功的一般,因为x509.pem已经有。
第六步,
openssl pkcs8 -topk8 -outform DER -in myprivate.rsa.pem -inform PEM -out myprivate.pk8 -nocrypt >>info.txt
!!!!!:-nocrypt 这个参数设定key不用加密,去掉则要输入密码。
这样*.509.pem和*pk8都有了。
我用批命令写了一个工具。大家用得着就下载。
链接链接
关于keystore 证书转*.x509.pem 和*.pk8相关推荐
- keystore文件转换格式为pk8+x509.pem
android 一般除了使用jarsigner签名 还有使用signapk 后者位于android源码 前者位于jdk中.两者使用的文件格式不同前者使用JKS 后者使用公钥+私钥 是分开的 第一步 先 ...
- 创建自己的pk8, x509.pem并给app签名
1, 生成key 命令: keytool -genkey -v -keystore app.keystore -alias gundam_wing -keyalg RSA -validity 2000 ...
- 用Android自带的signapk.jar + .x509.pem + .pk8签名应用程序
文件位置:可以在platform/build/target/product/security/中找到platform.pk8 platform.x509.pem等签名文件,对应不同的权限. signa ...
- 签名证书keystore,jks,pk8,x509.pem
.keystore,.jks本身是一个东西,没有区别:在eclipse上生成的是.keystore后缀,在andorid studio上生成的是.jks后缀: 生成.keystore http://w ...
- linux 根据.x509.pem .pk8 生成keystore
一.前言 goolge为我们提供了4个标准的key,以签名测试程序: testkey -- a generic key for packages that do not otherwise speci ...
- platform.pk8 和platform.x509.pem转jks
/** OpenSSL */ 下载地址:http://slproweb.com/products/Win32OpenSSL.html 安装教程(OpenSSL安装教程_香辣奥利奥的博客-CSDN博客 ...
- android安全学习之2—android中.pem和.pk8是什么文件?
PKCS X509 什么是pem和pk8文件 在给android的apk签名的时候,需要用到一个扩展名为.pem和.pk8的文件,我第一反应,这啥啊,英文缩写?反正linux不用后缀名来区分文件,这到 ...
- 利用platform.x509和platform.pk8生成系统签名文件
platform.x509和platform.pk8文件是不能被Android studio直接使用的,需要转换成.jks签名文件才能使用. 生成步骤如下: 1.下载并解压keytool-import ...
- HTTPS证书转换成PEM格式
PEM 格式的证书文件(*.pem)一般为以下格式: 注意:PEM 格式证书文件可用 notepad++ 等文本编辑器打开. CER / CRT 格式证书转换为 PEM 格式 对于 CER / CRT ...
最新文章
- java8 时间加一秒_年货买瓜子有讲究!这些加了“料”的瓜子不安全!
- How to list/dump dm thin pool metadata device?
- Elasticsearch创建雇员目录
- [TEAP] HTML5简史
- OperationalError: (1044, Access denied for user ''@'localhost' to database 'mydb')
- Vim配置文件(全平台可用)2012-05-01版
- dw1000信标码_DW1000方案工牌型UWB标签,助力10厘米高精度室内定位!
- 为什么php打开网页空白的_PHP页面出现空白页面该怎么办
- RHEL6.1在字符模式下安装图形界面
- Spring MVC获取参数的几种常见方式
- 银行自助填表方案介绍
- BGI-College生信入门系列——3、数据库
- wordpress快速删除垃圾评论和关闭评论
- 帝国 cms 列表 php,帝国cms数据表详细中文说明
- spring cache annotation(二)
- OpenFace人脸分类器训练
- Android软键盘使用
- @PostMapping和@GetMapping使用详解
- 常微分方程组解稳定性的分析
- QQ升到9个太阳需要58年左右时间!