Android签名文件转化为pk8和pem
Android签名工具
常用的android的签名工具有:jarsigner 和apksigner。jarsigner使用keystore文件,apksigner使用pk8+x509.pem。
什么是.pem和.pk8文件
.pem
在android对apk签名的时候,.pem这种文件就是一个X.509的数字证书,里面有用户的公钥等信息,是用来解密的。文件格式里面不仅可以存储数字证书,还能存各种key。.pk8
以.pk8为扩展名的文件,应该和PKCS #8是对应的,用来保存private key。
keystore文件转化为pk8+pem
1.将keystore文件转换为pkcs12格式
keytool -importkeystore -srckeystore my.keystore -destkeystore tmp.p12 -srcstoretype JKS -deststoretype PKCS12
2. 将PKCS12 dump成pem
openssl pkcs12 -in tmp.p12 -nodes -out tmp.rsa.pem
tmp.rsa.pem 是文本格式可以直接查看。
打开文本可以看到私钥(PRIVATE KEY )和证书(CERTIFICATE);
复制“BEGIN CERTIFICATE” “END CERTIFICATE” 到(新建个文件) cert.x509.pem
复制 “BEGIN RSA PRIVATE KEY” “END RSA PRIVATE KEY” 到(同上) private.rsa.pem
cert.x509.pem 文件即是我们最后需要的证书文件
3.生成pk8格式的私钥
openssl pkcs8 -topk8 -outform DER -in private.rsa.pem -inform PEM -out private.pk8 -nocrypt
cert.x509.pem private.pk8
即是我们最后需要的文件。
*备注:
-nocrypt 这个参数设定key加密 如果设置了这个参数 下面签名 只要证书+key 不需要密码了 如果加密 应该
openssl pkcs8 -topk8 -outform
DER -in private.rsa.pem -inform PEM -out private.pk8 接下来输入密码*
4.用法
java -jar signapk.jar cert.x509.pem private.pk8 unsigned.apk signed.apk
jarsigner 的用法
jarsigner -verbose -keystore android.keystore -signedjar android_signed.apk android.apk android.keystore
使用这种方式会报错:找不到 的证书链。×× 必须引用包含专用密钥和相应的公共密钥证书链的有效密钥库密钥条目。
jarsigner -verbose -keystore DT.jks -signedjar signed.apk unsigned.apk "别名"
参考
Android签名证书jks转换成signapk使用的分离模式
Android签名文件转化为pk8和pem相关推荐
- 签名证书keystore,jks,pk8,x509.pem
.keystore,.jks本身是一个东西,没有区别:在eclipse上生成的是.keystore后缀,在andorid studio上生成的是.jks后缀: 生成.keystore http://w ...
- keystore文件转换格式为pk8+x509.pem
android 一般除了使用jarsigner签名 还有使用signapk 后者位于android源码 前者位于jdk中.两者使用的文件格式不同前者使用JKS 后者使用公钥+私钥 是分开的 第一步 先 ...
- android签名文件查看工具,ionic 发布android,并查看签名文件。
1. 生成android包文件 ionic cordova build android --release 这时候已经cd到你app的目录下面了,然后 2. 生成签名文件 keytool -genke ...
- android 签名文件与sha1获取
签名与sha1 获取 1.签名作用: 一个Android项目可以以它的包名作为唯一标识符,但是手机上的应用可能不止这一个应用,如果手机上有两个应用恰好使用了同一个包名,那么其中一个应用程序就会覆盖另一 ...
- 创建自己的pk8, x509.pem并给app签名
1, 生成key 命令: keytool -genkey -v -keystore app.keystore -alias gundam_wing -keyalg RSA -validity 2000 ...
- java Android OKHttp HTTPS 请求证书验证 PEM证书(1)
地址:http://blog.csdn.net/doubleping/article/details/53331864 调用new CustomTrust() 即可产生OkHttpClient 关键点 ...
- Android数据转化为Excel表格导入导出
最近需要用到把Android数据到处保存到Excel表格中,个人感觉也比较实用,所以就和大家分享一下.以前没接触过该怎么办呢?有问题找百度,只有你想不到的没有你找不到的.在网上也找到了一些例子,自己又 ...
- 【Android签名文件META-INF】
android安装包apk中,有一个META-INF文件夹,该文件夹下面必须有以下几个扩展名的文件:.SF,.RSA,*.MF.一般为MANIFEST.MF,包名.SF,包名.RSA(也有可能是EC或 ...
- Android安全笔记-Android签名文件及初略架构
APK里META-INF文件夹中有里面有3个文件: CERT.RSA:包含了公钥信息和发布机构信息: MANIFEST.MF:对apk中每一个文件进行hash摘要: CERT.SF:不仅仅有MANIF ...
- Android 手机设置 Charles 代理,pem 证书安装不上?
「注意文章红字部分,100% 解决问题」 最近在家办公,需要远程链接内网调试,but 公司的 vpn 账号只能单设备登录,只好使用手机代理了. 本文使用的代理是 Charles,具体 Charles ...
最新文章
- ajax传输是用utf8,使用ajax时UTF8编码不起作用
- 六项任务、多种数据类型,谷歌、DeepMind提出高效Transformer评估基准
- BZOJ1051 [HAOI2006]受欢迎的牛 Tarjan 强连通缩点
- Java阻塞队列 LinkedBlockingDeque
- 第二阶段冲刺-个人总结09
- jeecg 与 jeecg-p3有什么区别?
- linux重启openfire服务,Centos下Openfire详细安装过程
- linux 服务器加 SSH 黑名单
- 钉钉直播回放视频的下载方法( fd抓包配合m3u8 )
- 信捷XC系列PLC编程软件安装方法
- python实时语音转写_使用实时语音转写_语音交互服务 SIS_SDK参考_Python SDK_华为云...
- whai is gradient vanishing and exploding ?
- syzlang语法编写案例学习 —— Looking for Remote Code Execution bugs in the Linux kernel
- iphone及ipad屏幕尺寸参考
- mysql 时间连续性查询_MYSQL 连续性问题求解
- MUI-list(列表),普通列表、带箭头列表、带数字角标列表、带图文列表
- 快速迁移可持续使用的开发环境
- 发布Sensor_msgs::JointState关节位置或速度实现Barrett Hand机械手控制
- 军人英语计算机考试,军人职称考试|全国专业技术人员计算机应用能力考试
- 东软已经失去发展的动力了吗(转自东软内网)