web-dev-qa-db-fra.com

Obtenir les détails du certificat depuis un apk

Comment puis-je obtenir les détails du certificat avec lequel un apk a été signé. J'ai un tas d'apks signés avec un certificat différent et j'essaie de les regrouper en fonction de leur certificat.

Je peux obtenir les détails d'expiration du certificat en utilisant le jarsigner et terminer ma tâche mais j'étais curieux de savoir si je peux obtenir plus de détails ou extraire la clé publique (je pense qu'elle est stockée dans META-INF/cert.RSA mais ce n'est pas lisible)

45
Ravi Vyas

Essayez ce qui suit:

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

unzip -p Name-of-apk.apk META-INF/CERT.RSA | keytool -printcert c'est ce que j'ai utilisé.

Il produit des informations telles que le propriétaire, l'émetteur, le numéro de série, valide via, les empreintes digitales des certificats, les algorithmes de signature et la version.

35
diptia

Sur la base des réponses existantes, voici la ligne de commande pour l'utilisation à la volée de openssl(décompressez et dirigez le certificat au lieu de définir un -infile option):

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

sans déballer, vous pouvez utiliser ApkSigner à partir de Android SDK et suivants:

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

Le plus simple de tous:

keytool -list -printcert -jarfile file.apk
3