Получение информации о сертификате из apk

Как мне узнать подробности о сертификате, с которым был подписан apk. У меня есть несколько apks, подписанных с другим сертификатом, и я пытаюсь сгруппировать их на основе их сертификата.

Я могу получить информацию об истечении срока действия сертификата с помощью jarsigner и выполнить свою задачу, но мне было любопытно, могу ли я получить какие-либо дополнительные сведения или извлечь открытый ключ (я считаю, что он хранится в META-INF / cert.RSA, но его нельзя прочитать)

 Jens06 июл. 2012 г., 13:41
Ты можешь это сделатьruntime извлекая сертификат X509 из приложения (-й), я также должен получить открытый ключ.
 Victor Ronin19 апр. 2013 г., 22:51
 Ravi Vyas06 июл. 2012 г., 13:52
Я хотел бы сделать это без кода (пожалуйста, не делайте мне больно, stackoverflow)

Ответы на вопрос(4)

Решение Вопроса

Попробуйте следующее:

openssl pkcs7 -inform DER -in CERT.RSA -noout -print_certs -text
 02 июл. 2014 г., 00:09
Вы также можете получить некоторую информацию с помощью Java.keytool: keytool -printcert -file CERT.RSA, ноopenssl более многословный, поэтому я предпочитаю его.

Основываясь на существующих ответах, здесь приведена командная строка для оперативного использованияopenssl (unzip & pipe the cert instead of defining an -infile option):

unzip -p App.apk META-INF/CERT.RSA |openssl pkcs7 -inform DER -noout -print_certs -text

без распаковки вы можете использовать ApkSigner из Android SDK и следующие:

apksigner.jar verify --print-certs myApplication.apk

unzip -p Name-of-apk.apk META-INF/CERT.RSA | keytool -printcert это то, что я использовал.

Он производит информацию, такую как владелец, эмитент, серийный номер, действительный до конца, отпечатки пальцев сертификата, алгоритмы подписи и версия.

Ваш ответ на вопрос