apk二次簽名

1.首先需要一個已簽名的apk文件(demo.apk)

可使用keytool -list -printcert -jarfile demo.apk查看簽名信息


image.png
2.一個簽名秘鑰(lgh.keystore)
3.把兩個文件放到同一個目錄下
4.把已簽名的apk文件后綴改成.zip,然后編輯這個文件,找到META-INF文件夾,并刪除
5.把.zip后綴改回.apk
6.使用命令 jarsigner -verify demo.apk查看是否簽名
image.png
7.使用命令

jarsigner -verbose -keystore lgh.keystore  -storepass xxx -signedjar demo-signed.apk -digestalg SHA1 -sigalg MD5withRSA demo.apk [xxxkeystore別名]

命令行參數(shù)說明:
-jarsigner:是Java的簽名工具
-verbose:參數(shù)表示顯示出簽名詳細信息
-keystore:表示使用當前目錄中的lgh.keystore簽名證書文件
-storepass xxx :表示Keystore密碼:“xxx”
-signedjar demo-signed.apk:表示簽名后生成的APK名稱
-digestalg SHA1 -sigalg MD5withRSA:表示簽名的算法是使用MD5withRSA
(注意MD5withRSA算法已經(jīng)被棄用,取而代之的則是SHA256withRSA)
demo.apk :表示需要簽名的apk
[xxxkeystore別名] :表示lgh.keystore的別名,注意是別名不是文件名稱

image.png

image.png
8.使用命令 jarsigner -verify demo.apk查看是否簽名

image.png

提示說簽名不生效,使用的算法被禁用了,再回看apk的簽名信息中,發(fā)現(xiàn)使用的算法是SHA256withRSA,所以需要把MD5withRSA改成SHA256withRSA,重新對apk進行簽名,完成后查看是否簽名
image.png

完成~~~

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容