Für Android-Entwickler, die ihre eigenen Signaturschlüssel verwalten, ist der SHA‑256-Zertifikat-Fingerabdruck die eindeutige kryptografische Identität ihrer App. In diesem Leitfaden werden drei Methoden beschrieben, mit denen Sie den Fingerabdruck entweder aus einer signierten APK-Datei oder aus dem ursprünglichen Schlüsselspeicher abrufen können.
SHA‑256 aus einer APK-Datei abrufen
Diese Methoden sind nützlich, wenn Sie die endgültige, signierte APK-Datei haben, aber möglicherweise keinen einfachen Zugriff auf den ursprünglichen Schlüsselspeicher oder seine Passwörter.
Methode 1A: „apksigner“ verwenden (empfohlen für APKs)
Das Tool apksigner ist die modernste und zuverlässigste Methode, um Signaturinformationen aus einem APK zu extrahieren – unabhängig davon, ob es V1-, V2-, V3- oder V4‑Signaturschemas verwendet.
Schritt 1: „apksigner“ suchen
Beispiel: /Users/username/Library/Android/sdk/build-tools/34.0.0/apksigner
Schritt 2: Befehl ausführen
Öffnen Sie das Terminal oder die Eingabeaufforderung, wechseln Sie in das Verzeichnis, in dem Ihre APK-Datei gespeichert ist, und führen Sie den folgenden Befehl aus:
apksigner verify --print-certs <path/to/your/app.apk>
Schritt 3: SHA‑256-Fingerabdruck suchen
In der Ausgabe werden die Zertifikatdetails für jeden Signer aufgeführt. Suchen Sie nach dem Label für den SHA‑256-Hashwert:
Signer #1 certificate SHA-256 digest:
a32a43cd459f7ce6b82c552f5d876989d53e6af1c0b2d35fb677b51a1dc4f0e5
Der lange String aus durch Doppelpunkte getrennten Hexadezimalzeichen ist Ihr SHA‑256-Zertifikat-Fingerabdruck.
Methode 1B: Keytool für ein APK verwenden
Schritt 1: Keytool und die APK-Datei suchen
Merken Sie sich den Speicherort des Keytool-Dienstprogramms (Teil Ihrer JDK-Installation) und der signierten APK-Datei.
Schritt 2: Befehl ausführen
Verwenden Sie den folgenden Befehl und geben Sie die signierte APK-Datei als Schlüsselspeicher an:
keytool -printcert -jarfile <path/to/your/app.apk>
Schritt 3: SHA‑256-Fingerabdruck suchen
Die Ausgabe enthält den Abschnitt „Zertifikat-Fingerabdrücke“. Suchen Sie nach der SHA‑256-Zeile.
SHA-256 aus einer Schlüsselspeicherdatei abrufen
Dies ist die De‑facto-Methode zum Extrahieren des Zertifikat-Fingerabdrucks aus Ihrer Quellschlüsselspeicherdatei auf jedem Betriebssystem.
Dies ist die De‑facto-Methode zum Extrahieren des Zertifikat-Fingerabdrucks aus Ihrer Quellschlüsselspeicherdatei auf jedem Betriebssystem.
Methode 2: Standardmäßiges Keytool-Dienstprogramm verwenden
Schritt 1: Tools und Schlüsselspeicherdatei suchen
Sie benötigen Folgendes:
- Ihre Schlüsselspeicherdatei: Die Datei, die zum Signieren Ihrer App verwendet wird (.jks oder .keystore). Sie müssen den Pfad, das Passwort und den Aliasnamen des Schlüssels darin kennen.
- Das Keytool-Dienstprogramm: Dieses Tool ist im Java Development Kit (JDK) enthalten.
| Betriebssystem | Keytool-Speicherort |
| Windows | Normalerweise im bin-Verzeichnis Ihrer JDK-Installation (z. B. C:\Programme\Java\jdk-xx\bin\) |
| macOS/Linux | In der Regel direkt in Ihrem Terminal verfügbar, sobald das JDK installiert ist |
Schritt 2: Zum richtigen Speicherort gehen
Öffnen Sie das Terminal oder die Eingabeaufforderung. Um den nächsten Schritt zu vereinfachen, können Sie zu dem Verzeichnis wechseln, das Ihre Schlüsselspeicherdatei enthält:
# Beispiel: Durch den tatsächlichen Pfad ersetzen
cd /path/to/your/keystore/directory
Schritt 3: Befehl ausführen
Mit dem folgenden Befehl weisen Sie „Keytool“ an, die Zertifikatdetails im ausführlichen Modus aufzulisten.
Hinweis: Wenn „Keytool“ nicht erkannt wird, müssen Sie den vollständigen Pfad zum Dienstprogramm angeben, z. B. /path/to/jdk/bin/keytool.
keytool -list -v -keystore [your_keystore_name.jks] -alias [your_key_alias]
- Ersetzen Sie [your_keystore_name.jks] durch den tatsächlichen Namen Ihrer Datei.
- Ersetzen Sie [your_key_alias] durch den Aliasnamen Ihres Signaturschlüssels (z. B. „mykey“).
Schritt 4: SHA‑256-Fingerabdruck suchen
Das Dienstprogramm fordert Sie zur Eingabe des Schlüsselspeicherpassworts auf. Nach der Eingabe werden die Zertifikatdetails in der Ausgabe angezeigt.
Suchen Sie nach dem Abschnitt Zertifikat-Fingerabdrücke:
Zertifikat-Fingerabdrücke:
SHA1: XX:XX:XX:XX:XX:…
SHA256: 0A:B3:C6:D9:E2:F5:81:B4:C7:D0:E3:F6:92:A5:B8:C1:D4:E7:F0:83:96:A9:BC:D1:E4:F7:03:96:A9:BC:D1:E4
Name des Signaturalgorithmus: SHA256withRSA
…
Der lange String aus durch Doppelpunkte getrennten Hexadezimalzeichen neben SHA256: ist Ihr öffentlicher SHA‑256-Zertifikat-Fingerabdruck.