Получение сведений о сертификате от apk

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

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

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

openssl pkcs7 -inform DER -in CERT.RSA -noout -print_certs -text 

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

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

На основе существующих ответов, вот командная строка для «на лету» использования openssl (unzip & pipe cert вместо определения опции -infile ) :

 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