Wie wird eine .apk-Datei signiert?

Dies ist nicht eine Frage darüber, wie Zeichen ein .apk-Datei. Ich möchte wissen, was bedeutet die Unterzeichnung tatsächlich bedeutet und wie es umgesetzt wird.

Innerhalb der .apk-Datei gibt es META-INF-Ordner und im inneren, gibt es zwei Dateien.

Erste ist CERT.SF enthält SHA1 hashes für die verschiedenen Komponenten und sieht wie folgt aus:

Name: res/layout/main.xml
SHA1-Digest: Cox/T8fN1X9Hv4VqjH9YKqc/MsM=

Name: AndroidManifest.xml
SHA1-Digest: wZ418H9Aix1LNch3ci7c+cHyuZc=

Name: resources.arsc
SHA1-Digest: P+uoRrpFyVW6P3Wf+4vuR2ZSuXY=

Name: classes.dex
SHA1-Digest: cN3zXtGii9zuTOkBqDTLymeMZQI=

Dort ist auch eine Datei namens CERT.RSA. Ich nehme an, es ist der öffentliche Schlüssel zum verifizieren der Signatur.

Meine Frage ist, wo ist die Signatur für das ganze .apk-Datei gespeichert ist? Und was ist eigentlich unterzeichnet? Es könnte entweder

  • .apk-Datei als einzelne binäre Objekt und dieses ist unterzeichnet
  • oder CERT.SF ist unterzeichnet, die enthält die einzelnen hashes für die verschiedenen Komponenten

Wäre es auch viel besser, wenn Sie können zeigen Sie mir die Dokumentation der detaillierten Signierung und Verifizierung.

InformationsquelleAutor der Frage Szere Dyeri | 2010-08-02

Schreibe einen Kommentar