,,Android签名文件转化为pk8和pem的实现

,,Android签名文件转化为pk8和pem的实现

本文主要介绍了Android签名文件转换为pk8和pem的实现,具有很好的参考价值。希望对大家有帮助。来和边肖一起看看吧。

Android签名工具

常用的android签名工具有:jarsigner和apksigner。Jarsigner使用keystore文件,apksigner使用pk8x509.pem。

什么是.pem和.pk8文件

.pem

安卓签apk的时候,文件。pem是一种X.509数字证书,包含用户公钥等信息,用于解密。文件格式不仅可以存储数字证书,还可以存储各种密钥。

.pk8

扩展名为. pk8的文件应对应于PKCS #8,并用于保存私钥。

keystore文件转化为pk8+pem

1.将keystore文件转换为pkcs12格式

keytool-import keystore-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是一种可以直接查看的文本格式。

打开文本查看私钥和证书;

将“开始证书”和“结束证书”复制到(创建新文件)cert.x509.pem

将“开始RSA私钥”和“结束RSA私钥”复制到(同上)private.rsa.pem

cert.x509.pem文件是我们需要的最后一个证书文件。

3.生成pk8格式的私钥

OpenSSL pkcs 8-top k8-out form DER-in private . RSA . PEM-inform PEM-out private . pk8-nocrypt

cert.x509.pem private.pk8

那是我们需要的最后一份文件。

*备注:

-nocrypt此参数设置密钥加密。如果设置了此参数,只要证书密钥不需要密码,就需要以下签名。如果加密应该

openssl pkcs8 -topk8 -outform

接下来,输入密码*

4.用法

Java-jar signapk . jar cert . x509 . PEM private . pk8 unsigned . apk signed . apk

jarsigner的用法

jarsigner-verbose-keystore Android . keystore-signed jar Android _ signed . apk Android . apk Android . keystore

使用此方法将报告一个错误:找不到证书链。必须引用包含私钥和相应公钥证书链的有效密钥库密钥条目。

jarsigner-verbose-keystore dt . jks-signed jar signed . apk unsigned . apk '别名'

补充知识:Android 创建自己的pk8, x509.pem并给app签名

1, 生成key

命令:keytool-genkey-v-keystore app . keystore-alias gundam _ wing-keyalg RSA-validity 20000

控制台输出:

输入密钥库密码:

再次输入新密码:

你的名和姓是什么?

[未知]:科技石

您的组织单位名称是什么?

[未知]:高达

你的组织名称是什么?

[未知]:高达

你所在的城市或地区的名称是什么?

【未知】:上海

你的省份叫什么?

【未知】:上海

这个单位的两个字母的国家代码是什么?

【未知】:zh

cn=techstone,ou=高达,o=高达,l=上海,ST=上海,c=zh是否正确?

[否]: Y

正在为以下对象生成2,048位RSA密钥对和自签名证书(SHA256withRSA)(有效期为20,000天):

CN=TechStone,OU=高达,O=高达,L=上海,ST=上海,C=zh

输入高达_wing的密钥密码。

(如果它与密钥库密码相同,请按Enter键):

[保存app.keystore]

该命令将生成一个包含组织/个人信息的密钥,并将其存储在app.keystore文件中。

2, 转换key的格式

命令:

keytool-import keystore-srckeystore app . keystore-destkeystore tmp . p12-srcstoretype JKS-deststoretype PKCS12

控制台会提示输出tmp.p12的密码和app.keystore的密码,正确输入后会生成tmp.p12文件。

3, 将PKCS12格式的key dump为可直接阅读的文本

命令:

OpenSSL pkcs12-in tmp . p12-nodes-out tmp . RSA . PEM

在转储过程中也会提示输入密码,正确输入后,可读令牌将存储在tmp.rsa.pem中。

4, 提取

用文本编辑器打开tmp.rsa.pem,并从

-开始私钥-

到达

-结束私钥-

复制此段落的文本(包括这两个标记)并创建一个新文件my_private.rsa.pem

威尔(男子名)

-开始证书-

到达

-结束证书-

复制这一段的文本(包括这两个标签)并创建一个新文件my.x509.pem(签名时使用的公钥)。

5, 转换,生成pk8格式的私钥

OpenSSL pkcs 8-top k8-out form DER-in my _ private . RSA . PEM-inform PEM-out my _ private . pk8-nocrypt

生成的my_private.pk8是签名时使用的私钥。

6, 对apk签名

Java-jar signapk . jar my . x509 . PEM my _ private . pk8 my . apk my _ signed . apk

将上述Android签名文件转换成pk8和pem的实现就是边肖分享的全部内容。希望给大家一个参考,支持我们。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • windowsandroid手机版下载,windowsandroid安装apk
  • windowsandroid手机版下载,windowsandroid安装apk,WindowsAndroid 安装教程详解
  • android调用webview方法,androidwebview是什么,Android 中 WebView 的基本用法详解
  • android传感器高级编程,Android传感器,Android编程之光线传感器用法详解
  • android.app.Dialog,android自定义dialog对话框,Android开发笔记之-Dialog的使用详解
  • android 图片视频轮播框架,androidlayout轮播图,Android实现炫酷轮播图效果
  • android里的viewpager,安卓自定义view流程,Android自定义引导玩转ViewPager的方法详解
  • android里的viewpager,android viewpager详解
  • android里的viewpager,android viewpager详解,Android自定义超级炫酷的ViewPage指示器
  • android调用webview方法,androidwebview是什么
  • android设置控件宽度,android获取屏幕宽度和高度
  • android设置控件宽度,android获取屏幕宽度和高度,Android中获取控件宽高的4种方法集合
  • android蓝牙开发的基本流程,安卓蓝牙app开发教程
  • android蓝牙开发的基本流程,安卓蓝牙app开发教程,android蓝牙简单开发示例教程
  • android菜单栏,android菜单控件
  • 留言与评论(共有 条评论)
       
    验证码: