0 votes

La mise à jour clignotante update.zip signée avec les clés OEM retourne "échec de la vérification de la signature du fichier complet"

J'ai un fichier update.zip qui inclut une APK dans le dossier system/priv-app/, des animations de démarrage et d'arrêt, ainsi qu'un serveur SSH, entre autres choses. J'ai les clés privées et publiques de l'OEM qui m'a vendu la tablette, donc j'ai utilisé sigapk.jar pour signer le fichier update.zip. La commande que j'ai utilisée est la suivante :

java -jar signapk.jar -w certificate.x509.pem key.pk8 update.zip update-signed.zip

Ensuite, après avoir essayé de flasher ce fichier via le mode de récupération stock en utilisant sideload (adb sideload update-signed.zip), j'ai reçu l'erreur suivante :

Vérification du package de mise à jour...
E : échec de la vérification de la signature de l'ensemble du fichier
E : la vérification de la signature a échoué
Redémarrage de adbd...
Installation annulée.

Auparavant, j'avais essayé de flasher le fichier update.zip sans le signer et le résultat était le suivant :

Vérification du package de mise à jour...
E : le pied de page est incorrect
E : la vérification de la signature a échoué
Redémarrage de adbd...
Installation annulée.

En fait, je ne sais pas si la différence dans l'erreur (le pied de page est incorrect --> échec de la vérification de la signature de l'ensemble du fichier) est due au bon fonctionnement des clés ou non, ou peut-être parce que le fichier n'avait aucune signature du tout. Quelqu'un peut-il m'aider avec cela et me dire pourquoi cela ne fonctionne pas si j'utilise les clés .pem et .pk8 de l'OEM ?

EDIT :

J'ai également essayé d'ajouter le fichier certificate.x509.pem à l'intérieur du dossier META-INF/com/android/otacert dans le fichier update.zip puis de le signer, mais cela n'a pas fonctionné non plus.

0 votes

L'outil correct pour la signature est apksigner.jar de la build-tools Android SDK.

0 votes

Essayez les suggestions de @Robert. De plus, êtes-vous sûr que ces clés sont correctes? Comment avez-vous vérifié que la clé que vous avez est la clé préinstallée sur votre appareil?

0 votes

Je n'ai pas vérifié. Comment puis-je le faire?

1voto

Richard Astbury Points 1638

Vous êtes sur la bonne voie. Le message "échec de la vérification de la signature du fichier entier" signifie que le fichier n'a pas pu être considéré comme valide pour le certificat fourni.

Le message d'erreur manquant indique que c'est le cas car la signature n'a pas pu être appariée au magasin de certificats de confiance :

https://android.googlesource.com/platform/bootable/recovery/+/2c6c23f651abb3d215134dfba463eb72a5e9f8eb/verifier.cpp#258

L'application Android qui s'exécute pendant le chargement latéral utilise un magasin de certificats différent de celui de la récupération :

https://source.android.com/devices/tech/ota/sign_builds#signatures-sideloading

Supposant que les clés que vous possédez sont valides pour la récupération, vous pourriez vous en sortir en démarrant directement en mode récupération en utilisant fastboot, puis en sélectionnant votre ZIP signé à partir de là.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X