Android--签名制作

简介: 版权声明:本文为博主原创文章,转载请标明出处。 https://blog.csdn.net/chaoyu168/article/details/77252794 制作签名的步骤:C:/Program Files/Java/jdk1.
版权声明:本文为博主原创文章,转载请标明出处。 https://blog.csdn.net/chaoyu168/article/details/77252794

制作签名的步骤:


C:/Program Files/Java/jdk1.6.0_10/bin>keytool -genkey -alias android123.keystore 
-keyalg RSA -validity 20000 -keystore android123.keystore 
输入keystore密码:[密码不回显] 
再次输入新密码:[密码不回显] 
您的名字与姓氏是什么? 
  [Unknown]:  android123 
您的组织单位名称是什么? 
  [Unknown]:  www.android123.com.cn 
您的组织名称是什么? 
  [Unknown]:  www.android123.com.cn 
您的组织名称是什么? 
  [Unknown]:  www.android123.com.cn 
您所在的城市或区域名称是什么? 
  [Unknown]:  New York 
您所在的州或省份名称是什么? 
  [Unknown]:  New York 
该单位的两字母国家代码是什么 
  [Unknown]:  CN 
CN=android123, OU=www.android123.com.cn, O=www.android123.com.cn, L=New York, ST 
=New York, C=CN 正确吗? 
  [否]:  Y 

输入<android123.keystore>的主密码[img][/img] 
        (如果和 keystore 密码相同,按回车): 

其中参数-validity为证书有效天数,这里我们写的大些20000天。还有在输入密码时没有回显,只管输入就可以了,一般位数建议使用20位,最后需要记下来后面还要用 

  接下来我们开始为apk文件签名了。 


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


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


第一步 先v把keystore文件转换为pkcs12格式

[java]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. keytool   -importkeystore -srckeystore debug.keystore   -destkeystore tmp.p12 -srcstoretype JKS         -deststoretype PKCS12   
第二步  将PKCS12 dump成pem 这样就可以按照文本形式查看了
[java]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. openssl        pkcs12 -in tmp.p12 -nodes -out tmp.rsa.pem  

  接下来打开文件 intermediate.rsa.pem 看到 PRIVATE KEY 还有CERT PS:private 那边可能有RSA KEY 这个不用管
Bag Attributes
    friendlyName: androiddebugkey
    localKeyID: 54 69 6D 65 20 31 33 38 38 39 37 38 34 32 36 38 36 39 
Key Attributes: <No Attributes>
-----BEGIN PRIVATE KEY-----
...
-----END PRIVATE KEY-----
Bag Attributes
    friendlyName: androiddebugkey
    localKeyID: 54 69 6D 65 20 31 33 38 38 39 37 38 34 32 36 38 36 39 
subject=/C=US/O=Android/CN=Android Debug
issuer=/C=US/O=Android/CN=Android Debug
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
复制“BEGIN CERTIFICATE”  “END CERTIFICATE” 到(新建个文件) cert.x509.pem
[
 pem里面内容(下的一样):
-----BEGIN CERTIFICATE-----
。。。。
-----END CERTIFICATE-----
]
复制 “BEGIN RSA PRIVATE KEY”   “END RSA PRIVATE KEY” 到(同上) private.rsa.pem

第三 生成pk8格式的私钥
[java]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. openssl pkcs8 -topk8 -outform DER -in     private.rsa.pem -inform PEM -out private.pk8 -nocrypt  


 完毕 收集文件  cert.x509.pem   private.pk8 其余的中间文件删除即可
PS:

-nocrypt 这个参数设定key加密 如果设置了这个参数 下面签名 只要证书+key 不需要密码了 如果加密 应该 openssl pkcs8 -topk8 -outform DER -in private.rsa.pem -inform PEM -out private.pk8 接下来输入密码

用法 java -jar signapk.jar cert.x509.pem private.pk8 unsigned.apk signed.apk

目录
相关文章
|
6月前
|
存储 Java API
Android 浅度解析:mk预置AAR、SO文件、APP包和签名
Android 浅度解析:mk预置AAR、SO文件、APP包和签名
853 0
|
6月前
|
算法 Android开发
Android签名算法的原理
Android签名算法的原理
70 0
|
6月前
|
编解码 Android开发
Android获取设备各项信息(设备id、ip地址、设备名称、运行商、品牌、型号、分辨率、处理器、国家码、系统语言、网络类型、oaid、android版本、操作系统版本、mac地址、应用程序签名..)1
Android获取设备各项信息(设备id、ip地址、设备名称、运行商、品牌、型号、分辨率、处理器、国家码、系统语言、网络类型、oaid、android版本、操作系统版本、mac地址、应用程序签名..)
364 1
|
API 开发工具 Android开发
解决 Android App 上架 Google play后 ,签名变更,第三方sdk无法登录
解决 Android App 上架 Google play后 ,签名变更,第三方sdk无法登录
299 0
|
3月前
|
Android开发
基于android-11.0.0_r39,系统应用的手动签名方法和过程
本文介绍了基于Android 11.0.0_r39版本进行系统应用手动签名的方法和解决签名过程中遇到的错误,包括处理`no conscrypt_openjdk_jni-linux-x86_64`和`RegisterNatives failed`的问题。
187 2
|
5月前
|
安全 Java Android开发
05. 【Android教程】Android 程序签名打包
05. 【Android教程】Android 程序签名打包
63 1
|
3月前
|
安全 Java Android开发
【Android P】OTA升级包定制,移除不需要更新的分区,重新打包签名
如何解压OTA升级包、编辑升级包内容(例如移除不需要更新的分区)、重新打包、签名以及验证OTA文件的过程。
304 2
【Android P】OTA升级包定制,移除不需要更新的分区,重新打包签名
|
6月前
|
编解码 开发工具 Android开发
Android获取设备各项信息(设备id、ip地址、设备名称、运行商、品牌、型号、分辨率、处理器、国家码、系统语言、网络类型、oaid、android版本、操作系统版本、mac地址、应用程序签名..)2
Android获取设备各项信息(设备id、ip地址、设备名称、运行商、品牌、型号、分辨率、处理器、国家码、系统语言、网络类型、oaid、android版本、操作系统版本、mac地址、应用程序签名..)2
421 2
|
3月前
|
Java Android开发 Windows
使用keytool查看Android APK签名
本文介绍了如何使用Windows命令行工具和keytool查看APK的签名信息,并提供了使用AOSP环境中的signapk.jar工具对APK进行系统签名的方法。
387 0
使用keytool查看Android APK签名
|
3月前
|
Android开发 数据安全/隐私保护
Android Studio创建JKS签名遇到的坑
Android Studio创建JKS签名遇到的坑
142 1
下一篇
无影云桌面