0 votes

Flashing update.zip signé avec les clés OEM retourne "failed to verify whole-file signature".

J'ai un update.zip qui comprend un APK dans le dossier system/priv-app/, une animation de démarrage et d'arrêt et un serveur SSH entre autres. 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 la récupération du stock en utilisant sideload ( adb sideload update-signed.zip ) Je reçois l'erreur suivante :

Verifying update package...
E:failed to verify whole-file signature
E:signature verification failed
Restarting adbd...
Installation aborted.

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

Verifying update package...
E:footer is wrong
E:signature verification failed
Restarting adbd...
Installation aborted.

En fait, je ne sais pas si la différence dans l'erreur (footer is wrong --> failed to verify whole-file signature) est due au fait que les clés fonctionnent ou non, ou peut-être parce que le fichier n'avait pas de signature du tout. Quelqu'un peut-il m'aider et me dire pourquoi cela ne fonctionne pas si j'utilise les clés de l'OEM ? .pem y .pk8 des clés ?

EDIT :

J'ai également essayé d'ajouter le certificate.x509.pem dans le fichier META-INF/com/android/otacert dans le dossier update.zip et ensuite le signer, mais ça n'a pas marché non plus.

0 votes

L'outil correct pour la signature est apksigner.jar à partir des outils de construction du SDK Android.

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 obtenez 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 "failed to verify whole-file signature", 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 mise en correspondance avec le 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 sideloading 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

En supposant que les clés que vous avez sont valides pour la récupération, vous pourriez vous en sortir en démarrant directement dans la 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