<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相关推荐

  1. keystore文件转换格式为pk8+x509.pem

    android 一般除了使用jarsigner签名 还有使用signapk 后者位于android源码 前者位于jdk中.两者使用的文件格式不同前者使用JKS 后者使用公钥+私钥 是分开的 第一步 先 ...

  2. 创建自己的pk8, x509.pem并给app签名

    1, 生成key 命令: keytool -genkey -v -keystore app.keystore -alias gundam_wing -keyalg RSA -validity 2000 ...

  3. 用Android自带的signapk.jar + .x509.pem + .pk8签名应用程序

    文件位置:可以在platform/build/target/product/security/中找到platform.pk8 platform.x509.pem等签名文件,对应不同的权限. signa ...

  4. 签名证书keystore,jks,pk8,x509.pem

    .keystore,.jks本身是一个东西,没有区别:在eclipse上生成的是.keystore后缀,在andorid studio上生成的是.jks后缀: 生成.keystore http://w ...

  5. linux 根据.x509.pem .pk8 生成keystore

    一.前言 goolge为我们提供了4个标准的key,以签名测试程序: testkey -- a generic key for packages that do not otherwise speci ...

  6. platform.pk8 和platform.x509.pem转jks

    /** OpenSSL  */ 下载地址:http://slproweb.com/products/Win32OpenSSL.html 安装教程(OpenSSL安装教程_香辣奥利奥的博客-CSDN博客 ...

  7. android安全学习之2—android中.pem和.pk8是什么文件?

    PKCS X509 什么是pem和pk8文件 在给android的apk签名的时候,需要用到一个扩展名为.pem和.pk8的文件,我第一反应,这啥啊,英文缩写?反正linux不用后缀名来区分文件,这到 ...

  8. 利用platform.x509和platform.pk8生成系统签名文件

    platform.x509和platform.pk8文件是不能被Android studio直接使用的,需要转换成.jks签名文件才能使用. 生成步骤如下: 1.下载并解压keytool-import ...

  9. HTTPS证书转换成PEM格式

    PEM 格式的证书文件(*.pem)一般为以下格式: 注意:PEM 格式证书文件可用 notepad++ 等文本编辑器打开. CER / CRT 格式证书转换为 PEM 格式 对于 CER / CRT ...

最新文章

  1. java8 时间加一秒_年货买瓜子有讲究!这些加了“料”的瓜子不安全!
  2. How to list/dump dm thin pool metadata device?
  3. Elasticsearch创建雇员目录
  4. [TEAP] HTML5简史
  5. OperationalError: (1044, Access denied for user ''@'localhost' to database 'mydb')
  6. Vim配置文件(全平台可用)2012-05-01版
  7. dw1000信标码_DW1000方案工牌型UWB标签,助力10厘米高精度室内定位!
  8. 为什么php打开网页空白的_PHP页面出现空白页面该怎么办
  9. RHEL6.1在字符模式下安装图形界面
  10. Spring MVC获取参数的几种常见方式
  11. 银行自助填表方案介绍
  12. BGI-College生信入门系列——3、数据库
  13. wordpress快速删除垃圾评论和关闭评论
  14. 帝国 cms 列表 php,帝国cms数据表详细中文说明
  15. spring cache annotation(二)
  16. OpenFace人脸分类器训练
  17. Android软键盘使用
  18. @PostMapping和@GetMapping使用详解
  19. 常微分方程组解稳定性的分析
  20. QQ升到9个太阳需要58年左右时间!

热门文章

  1. 仿冒银行升级助手的木马分析
  2. 1949-2012年北京市人口出生、死亡变动情况
  3. 开源夏令营《基于HackRF开发GPS信号仿真模拟器》开题报告
  4. Java实现聊天室(TCP)
  5. RTP PS PES ES H264协议学习
  6. iOS 设置字体 自定义字体
  7. Java调用Cplex的基础简单教程
  8. Day918.测试金字塔 -SpringBoot与K8s云原生微服务实践
  9. [附源码]计算机毕业设计JAVA网上鞋店管理系统
  10. linux代码行数统计工具,统计代码行数工具 用golang实现