Ответ 1
Попробуйте следующее:
openssl pkcs7 -inform DER -in CERT.RSA -noout -print_certs -text
Как мне получить информацию о сертификате, с которым был подписан 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
- это то, что я использовал.
Он производит информацию, такую как владелец, эмитент, серийный номер, действительный, отпечатки пальцев сертификата, алгоритмы подписи и версия.
В соответствии с существующими ответами, здесь приведена командная строка для использования openssl
на лету (разархивируйте и пропустите сертификат вместо определения опции -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
Самый простой из всех:
keytool -printcert -jarfile file.apk
Это также работает для комплектов приложений Android (.aab)