把Android系统签名弄成jks

把Android系统签名弄成jks假设我们得到了系统签名文件:platform.pk8、platform.x509.pem,还需要一个用于签名的文件:signapk.jar,这里提供了一份下载连接,可供练习使用:链接:https://pan.baidu.com/s/1OiBcVyhZVqTulb6HXwcqHA提取码:7g81不同的系统,系统签名是不一样的,所以你们下载我的这个签名文件是用不到你的系统上的,但是signapk.jar是通用的,什么系统签名都可以使用他。当你有你的系统签名文件时,如何把一个apk签名为系统签名呢?如下:

大家好,又见面了,我是你们的朋友全栈君。

一、应用使用系统签名

假设我们得到了系统签名文件:platform.pk8、platform.x509.pem,还需要一个用于签名的文件:signapk.jar,这里提供了一份下载连接,可供练习使用:链接:https://pan.baidu.com/s/1OiBcVyhZVqTulb6HXwcqHA 提取码:7g81

有时候我们找系统提供商要系统签名时,可能给的文件很多,如下:
在这里插入图片描述
其实真正只需要用到platform.pk8、platform.x509.pem即可。

不同的系统,系统签名是不一样的,所以你们下载我的这个签名文件是用不到你的系统上的,但是signapk.jar是通用的,什么系统签名都可以使用他。

当你有你的系统签名文件时,如何把一个apk签名为系统签名呢?如下:

  1. 把platform.pk8、platform.x509.pem、signapk.jar、app.apk放到同一个目录下

  2. CMD进入到上面的目录中,然后输入如下命令:

    java -jar signapk.jar platform.x509.pem platform.pk8 app.apk app_signed.apk
    

    注:这里app.apk就是你的App,此App不论是有签名还是没签名都是可以的,通过上面的命名后,签名就会变成系统的签名了。

这有一篇文章:应该是需要在Linux系统下进行操作的:https://blog.csdn.net/georgebindragon/article/details/106253192

注:一个应用要想使用系统签名,还需要在清单文件中设置一个属性,如下:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:sharedUserId="android.uid.system">

我们使用adb命令安装一个没有签名的apk

adb install unsigned.apk

此时会报错,如下:

Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]

INSTALL_PARSE_FAILED_NO_CERTIFICATES翻译过来就是:安装解析失败,没有证书(签名)

使用adb命令安装一个有系统签名的apk,但是安装到一个不匹配的android系统上,会报错如下:

Failure [INSTALL_FAILED_SHARED_USER_INCOMPATIBLE]

INSTALL_FAILED_SHARED_USER_INCOMPATIBLE翻译过来就是:安装失败,共享用户不兼容(其实说的就是系统签名与所安装的手机不兼容)

二、把系统签名弄成jks签名文件

1、把platform.pk8、platform.x509.pem放在同一个目录下,然后cmd中进入这个目录。
2、生成platform.pem,输入如下命令:

openssl pkcs8 -inform DER -nocrypt -in platform.pk8 -out platform.pem

如果提示没有openssl命令,则需要先安装openssl,下载地址:http://slproweb.com/products/Win32OpenSSL.html,一般我们下载64位的exe,且容量大的那个,如下:
在这里插入图片描述
预防下载连接失效,这里也提供一个百度网盘下载:链接:https://pan.baidu.com/s/1gFpPMwfwCTpty7xCdiEZ2A 提取码:1234

安装后之后,把安装目录下的bin目录设置到path环境变量中即中。

3、生成platform.p12,命令如下:

openssl pkcs12 -export -in  platform.x509.pem -out platform.p12 -inkey  platform.pem -password pass:123456 -name key0

注:这里的123456为密码,key0为别名,可以自行设置。
4、生成platform.jks,命令如下:

keytool -importkeystore -deststorepass 123456 -destkeystore ./platform.jks -srckeystore ./platform.p12 -srcstoretype PKCS12 -srcstorepass 123456

注:这里有两个123456,都是密码,与前一步设置的密码保持一致。

这一步,会报出一个警告,如下:

Warning:
JKS 密钥库使用专用格式。建议使用 “keytool -importkeystore -srckeystore ./platform.jks -destkeystore ./platform.jks -deststoretype pkcs12” 迁移到行业标准格式 PKCS12。

可以忽略它,也可以按它说的输入那个命令:

keytool -importkeystore -srckeystore ./platform.jks -destkeystore ./platform.jks -deststoretype pkcs12

到这里,我们就有了一个platform.jks的系统签名文件了,以后打包apk就像平常那样打包即可,可以把debug的签名也设置为这个,这样在AndroidStudio中可以直接运行apk来调试。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/151996.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 初探js逆向「建议收藏」

    初探js逆向「建议收藏」转载自三尾先生博客初探js逆向在开始之前想先说下阅读完三尾先生这篇文章的一点个人理解,文章写得挺好的,很值得新手学习了解,首先谈下逆向激活成功教程思路1.需要逆向的时候一般是遇到了加密问题,加密情况有参数加密,有结果加密。但不管怎样的加密只要页面能正常显示,那就有解密过程!2.先找到加密的字段名,通过字段名在sources全局搜索3.在含有这些字段的位置打断点,一般sources里看到的会是一行的压缩代码,我们可以通过点击左下角的双大括号格式化js代码然后通过断点一步步查看参数在哪一步骤发生了变

    2022年6月22日
    46
  • JMM内存模型

    JMM内存模型Java内存模型即JavaMemoryModel,简称JMM。JMM定义了Java虚拟机(JVM)在计算机内存(RAM)中的工作方式。JVM是整个计算机虚拟模型,所以JMM是隶属于JVM的。如果我们要想深入了解Java并发编程,就要先理解好Java内存模型。Java内存模型定义了多线程之间共享变量的可见性以及如何在需要的时候对共享变量进行同步。原始的Java内存模型效率并不是很理想,

    2022年6月1日
    50
  • 面试/笔试第一弹 —— 计算机网络面试问题集锦

    面试/笔试第一弹 —— 计算机网络面试问题集锦本文对面试/笔试过程中经常会被问到的一些关于计算机网络的问题进行了梳理和总结,一方面方便自己温故知新,另一方面也希望为找工作的同学们提供一个复习参考。关于这块内容的初步了解和掌握,建议大家读一读《图解HTTP》一书。

    2022年6月24日
    35
  • Spidermonkey_Monkeys Spinning Monkeys

    Spidermonkey_Monkeys Spinning Monkeys原文地址:https://developer.mozilla.org/en-US/docs/SpiderMonkey/JSAPI_User_Guide文章为郭胜龙所写,转载说明出处本文是mozilla官网上关于spiderMonder的一篇用户指南,正好要用,顺带翻译了一下:JSAPI用户指南全局对象:全局对象包括所有可被JS代码用的类,方法,变量。例如当js代码

    2022年10月17日
    4
  • docker nginx+php(docker nginx反向代理)

    一、docker安装:将微信公众号项目运行绑定至80端口(微信服务器只能和外部开通了80端口的服务器之间通信)docker一次构建可放在任何地方就可以运行,不需要进行任何改变DocKer就类似于一个容器。这个容器就好像咱们常用的虚拟机一样,当我们虚拟机里面安装过VS、SQL、浏览器……之后咱们就把虚拟机镜像备份下来、等到下一次需要重新搭一个环境的时候,就可以省去很多事情了,直接…

    2022年4月16日
    73
  • UVA – 11637 Garbage Remembering Exam (组合+可能性)

    UVA – 11637 Garbage Remembering Exam (组合+可能性)

    2022年1月4日
    42

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号