Android獲取APK或者.jks簽名信息

聲明:本文非原創,是網上相關資料的一個總結!
參考:
Android查看應用簽名方法
獲取apk證書MD5值的方法

查看apk文件的簽名

方法一

首先解壓要查看的apk包,通過數據證書管理工具keytool查看apk的簽名信息。具體步驟如下:
1)將apk修改後綴爲.rar文件後進行解壓;
2)進入解壓後的META-INF目錄,找到該目錄下的xxx.RSA文件;
3)打開Terminal終端,輸入命令 :

keytool -printcert -file [RSA文件路徑]

方法二

直接執行命令:

keytool -printcert -jarfile xxx.apk

查看keystore文件的信息

利用keytool查看

如果我們直接有簽名的.jks文件,可以直接查看其相關信息。
執行下邊命令:

keytool -list -v -keystore xxxx.jks -storepass 簽名文件密碼

或者手動輸入密碼:

keytool -list -v -keystore xxxx.jks

利用Android Studio查看

如果是我們自己的項目,可以通過AS直接查看:
打開 AS工具窗口欄右邊的Gradle -> Project -> app -> Tasks -> android -> signingReport,雙擊運行 signingReport
在這裏插入圖片描述
signingReport 運行完後,就可以看到debug和release版簽名的相關信息。

AS新建簽名文件報警告⚠️

在最近的幾個版本的AS中,新建keystore之後,會彈出一個警告:

JKS 密鑰庫使用專用格式。建議使用 “keytool -importkeystore -srckeystore xxx.jks -destkeystore xxx.jks -deststoretype pkcs12” 遷移到行業標準格式 PKCS12。

這裏先了解一下兩種格式的不同:
JKS(Java KeyStore):是 Java 的 keytools 證書工具支持的證書私鑰格式。jks 包含了公鑰和私鑰,可以通過 keytool 工具來將公鑰和私鑰導出。因爲包含了私鑰,所以 jks 文件通常通過一個密碼來加以保護。一般用於 Java 或者 Tomcat 服務器。

PKCS #12:定義了一種存檔文件格式,用於實現存儲許多加密對象在一個單獨的文件中。通常用它來打包一個私鑰及有關的 X.509 證書,或者打包信任鏈的全部項目。

那麼就按提示操作即可:
1)在終端輸入命令 :keytool -importkeystore -srckeystore [簽名文件路徑] -destkeystore [簽名文件路徑] -deststoretype pkcs12命令把 JKS 格式證書轉換成 PKCS12 格式證書;
2)轉換成功後,就會在目標文件夾看到新的替換籤名證書xxx.jks和舊的重命名簽名證書xxx.jks.old

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章