给APK签名,修改签名

简介:

本来是不需要签名的,但是我有个android的专用设备,限制安装,但是售后给我通过了一个证书的验证。

那么我想装什么软件,就需要这个证书验证。

现在记录一下签名的主要过程,还有修改签名的方法。

一:环境准备

其实也没用什么特别的工具JAVA JDK 就够用了。

https://www.oracle.com/technetwork/java/javase/downloads/jdk12-downloads-5295953.html

根据自己的版本下载,我下载的是Windows    158.63 MB      jdk-12.0.2_windows-x64_bin.exe

一路下一步安装就可以了。

二:生成签名的证书

找到你安装文件夹

D:\Program Files\Java\jdk-12.0.1\bin>keytool -genkey -alias jackadam -keyalg RSA -validity 36500 -keystore jackadam.keystore
输入密钥库口令:
再次输入新口令:
您的名字与姓氏是什么?
  [Unknown]:  jack
您的组织单位名称是什么?
  [Unknown]:  technology
您的组织名称是什么?
  [Unknown]:  fntco
您所在的城市或区域名称是什么?
  [Unknown]:  zhengzhou
您所在的省/市/自治区名称是什么?
  [Unknown]:  henan
该单位的双字母国家/地区代码是什么?
  [Unknown]:  cn
CN=jack, OU=technology, O=fntco, L=zhengzhou, ST=henan, C=cn是否正确?
  [否]:  y

正在为以下对象生成 2,048 位RSA密钥对和自签名证书 (SHA256withRSA) (有效期为 36,500 天):
         CN=jack, OU=technology, O=fntco, L=zhengzhou, ST=henan, C=cn

标红的可以根据自己喜好来换。会在bin目录生成证书名称为jackadamjackadam.keystore这个密钥文件。

 -validity 36500 很多资料里没写这个参数,这个参数是100年的有效期。

谁没事换证书玩啊?就写100年吧。

三:查看签名

第一步:将apk解压
第二步:找到META-INF 下的.RSA文件
第三步:在mac终端或者window控制器上输入命令:
keytool -printcert -file xxx.RSA回车,即可查看签名文件.将.RSA文件拖入到-file后面,即可查看:如下图

这比我还狠,1000年,365000天。真是地老天荒啊。

四:删除签名

其实很简单,用WinRAR打开apk,找到META-INF文件夹,删除MANIFEST.MF之外的所有其他文件即可。

五:签名

签名命令如图下:
使用jarsigner进行签名
jarsigner -verbose -keystore [您的私钥存放路径] -signedjar [签名后文件存放路径] [未签名的文件路径] [您的证书名称]
或者直接把密码给带进签名里面去,就不用手动输入密码库密码了:命令如下
jarsigner -verbose -keystore [您的私钥存放路径] -storepass 密码库密码 -signedjar [签名后文件存放路径] [未签名的文件路径] [您的证书名称]
或者
jarsigner -verbose -keystore [您的私钥存放路径] -signedjar [签名后文件存放路径] [未签名的文件路径] [您的证书名称] -storepass 密码库密码

我的操作如下:

六:验证签名

这怎么验?和查看签名样啊。

查看到有签名就对了。

猜你喜欢

转载自www.cnblogs.com/jackadam/p/11266396.html