我如何獲取apk的簽名證書的詳細信息。我有一堆apks用不同的證書籤名,我試圖根據他們的證書對他們進行分組。從apk中獲取證書詳細信息
我可以使用jarsigner獲得證書有效期的詳細信息,並完成我的任務,但我很好奇,如果我可以得到任何更多的細節或提取公鑰(我相信它存儲在META-INF/cert.RSA中,但它不是可讀)
我如何獲取apk的簽名證書的詳細信息。我有一堆apks用不同的證書籤名,我試圖根據他們的證書對他們進行分組。從apk中獲取證書詳細信息
我可以使用jarsigner獲得證書有效期的詳細信息,並完成我的任務,但我很好奇,如果我可以得到任何更多的細節或提取公鑰(我相信它存儲在META-INF/cert.RSA中,但它不是可讀)
嘗試以下操作:
openssl pkcs7 -inform DER -in CERT.RSA -noout -print_certs -text
你也可以用java的'keytool'獲得一些信息:'keytool -printcert -file CERT .RSA',但'openssl'更加冗長,這就是爲什麼我更喜歡它。 – pevik 2014-07-01 22:09:31
unzip -p Name-of-apk.apk META-INF/CERT.RSA | keytool -printcert
是我用什麼。
它產生的信息,如所有者,發行人,序列號,有效通過,證書指紋,簽名算法和版本。
基於現有的答案,這裏的命令行上即時的openssl
使用(解壓&管的證書,而不是定義-infile
選項):
unzip -p App.apk META-INF/CERT.RSA |openssl pkcs7 -inform DER -noout -print_certs -text
沒有SHA1 – HendraWD 2017-09-18 08:04:05
沒有拆包即可從Android SDK中使用ApkSigner及以下:
apksigner.jar verify --print-certs myApplication.apk
很好的答案。請注意,從Android 7開始,引入了一個新的簽名方案(V2),該方案將生成沒有CERT.RSA的APK文件。所以舊的方法(使用openssl/keytool)將不起作用。 (請參閱:https://source.android.com/security/apksigning/v2) – 2018-02-06 09:48:09
您可以通過應用程序(一個或多個)提取X509證書做[運行](http://stackoverflow.com/a/7632973/967142) - 也應該給ÿ我假設的公鑰。 – Jens 2012-07-06 11:41:56
我想這樣做沒有代碼(請不要傷害我stackoverflow) – 2012-07-06 11:52:20
可能重複的[如何查看在Android設備上簽名的人的身份?](http://stackoverflow.com/questions/ 4324120/how-to-view-the-identity-of-person-who-signed-the-apk-on-android-device) – 2013-04-19 20:51:47