TASIOMIND.DEV — OPERATIONAL▸▸▸FULL STACK DEVELOPER @ GWQ SERVICEPLUS AG▸▸▸FOUNDER — K8SGPT.AI▸▸▸OPEN SOURCE: ACTIVE▸▸▸DISTRIBUTED SYSTEMS / KUBERNETES / AI▸▸▸RUST + GO + PYTHON▸▸▸FIELD TESTED / STATUS — NOMINAL▸▸▸LOCATION: EUROPE/BERLIN▸▸▸TASIOMIND.DEV — OPERATIONAL▸▸▸FULL STACK DEVELOPER @ GWQ SERVICEPLUS AG▸▸▸FOUNDER — K8SGPT.AI▸▸▸OPEN SOURCE: ACTIVE▸▸▸DISTRIBUTED SYSTEMS / KUBERNETES / AI▸▸▸RUST + GO + PYTHON▸▸▸FIELD TESTED / STATUS — NOMINAL▸▸▸LOCATION: EUROPE/BERLIN▸▸▸

PEPK Tool: Privaten Schlüssel aus einem Java Keystore exportieren

June 29, 2020

Das Play Encrypt Private Key (PEPK)-Tool ist ein von Google bereitgestelltes Kommandozeilenwerkzeug. Sein Zweck ist es, einen privaten App-Signaturschlüssel aus einem Java Keystore zu exportieren und ihn sicher zu verschlüsseln. Das resultierende verschlüsselte ZIP-Archiv kann anschließend in die Google Play Console hochgeladen werden, um einen bestehenden Signaturschlüssel für Play App Signing zu registrieren.

Anwendungsfall

Der Einsatz des PEPK-Tools ist in folgendem Szenario erforderlich:

  • Sie besitzen einen bereits existierenden App Signing Key, mit dem Sie frühere Versionen Ihrer App signiert haben.
  • Sie möchten zu Google Play App Signing migrieren und diesen bestehenden Schlüssel weiterhin verwenden.
  • In der Play Console wählen Sie die Option "Export and upload a key from a Java keystore".

Voraussetzungen

  • Java Development Kit (JDK): Version 8 oder neuer muss installiert sein.
    • Ubuntu: sudo apt install -y openjdk-17-jdk-headless
    • macOS (Homebrew): brew install openjdk
  • PEPK-Tool: Die pepk.jar-Datei, die von der Google Play Console während des Setup-Prozesses zum Download angeboten wird.

Vorgehensweise

1. Key Alias ermitteln

Identifizieren Sie den Alias des Schlüssels, den Sie exportieren möchten, indem Sie den Inhalt Ihres Keystores auflisten.

code
keytool -list -v -keystore IHR_KEYSTORE.jks

2. PEPK-Tool ausführen

Führen Sie das PEPK-Tool im selben Verzeichnis aus, in dem sich die pepk.jar-Datei befindet.

code
java -jar pepk.jar \
  --keystore=foo.keystore \
  --alias=foo \
  --output=output.zip \
  --encryptionkey=XXXXXXXXXX7c9df7... \
  --include-cert

Parameter-Erklärung:

  • --keystore: Pfad zu Ihrem Java Keystore.
  • --alias: Der Alias des zu exportierenden Schlüssels.
  • --output: Der Dateiname für das verschlüsselte ZIP-Archiv.
  • --encryptionkey: Der öffentliche Verschlüsselungsschlüssel, der von der Google Play Console bereitgestellt wird.
  • --include-cert: Stellt sicher, dass sowohl der private Schlüssel als auch das Zertifikat in das ZIP-Archiv aufgenommen werden.

Das Ergebnis ist eine verschlüsselte ZIP-Datei (output.zip), die sicher an Google übertragen werden kann.

3. ZIP-Datei hochladen

Laden Sie die generierte output.zip-Datei in der Google Play Console hoch, um den Prozess abzuschließen.

Fehlerbehebung

  • Alias nicht gefunden: Stellen Sie sicher, dass der angegebene Alias im Keystore existiert.
  • Falsches Passwort: Der Export schlägt fehl, wenn das Keystore- oder Schlüsselpasswort inkorrekt ist.
  • Java nicht gefunden: java: command not found deutet auf eine fehlende oder fehlerhaft konfigurierte JDK-Installation hin.