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)
Essayez ce qui suit:
openssl pkcs7 -inform DER -in CERT.RSA -noout -print_certs -text
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.
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
sans déballer, vous pouvez utiliser ApkSigner à partir de Android SDK et suivants:
apksigner.jar verify --print-certs myApplication.apk
Le plus simple de tous:
keytool -list -printcert -jarfile file.apk