Google Play App Signing

Mit Play App Signing verwaltet und schützt Google den Signaturschlüssel Ihrer App und verwendet ihn zum Signieren Ihrer APKs für den Vertrieb. Außerdem wird Ihr Signaturschlüssel durch Play App Signing auch sicher gespeichert, sodass er vor Verlust oder Manipulation bestmöglich geschützt ist.

Wichtig: Wenn Sie das empfohlene App-Veröffentlichungsformat Android App Bundles verwenden möchten, müssen Sie sich für Play App Signing anmelden, bevor Sie Ihr App Bundle in der Play Console hochladen.

Dafür müssen Sie Kontoinhaber oder Nutzer mit der Berechtigung Produktionsversionen veröffentlichen, Geräte ausschließen und Play App Signing verwenden sein und den Nutzungsbedingungen zustimmen. Sie können Apps nur einzeln für Play App Signing anmelden.

So gehts

Wenn Sie Play App Signing verwenden, werden die Schlüssel in derselben Infrastruktur gespeichert, die Google für seine eigenen Schlüssel nutzt. Dort sind sie alle durch den Key Management Service von Google geschützt. Weitere Informationen zu unserer technischen Infrastruktur finden Sie in den Whitepapers zur Sicherheit in der Google Cloud.

Android-Apps sind mit einem privaten Schlüssel signiert. Damit gewährleistet werden kann, dass App-Updates sicher sind, ist jedem privaten Schlüssel ein öffentliches Zertifikat zugeordnet. Mit diesem können Geräte und Dienste überprüfen, ob die App von einer vertrauenswürdigen Quelle stammt. Geräte akzeptieren nur dann Updates, wenn ihre Signatur mit der Signatur der installierten App übereinstimmt. Wenn Google Ihren App-Signaturschlüssel verwaltet, wird dieser Prozess sicherer.

Hinweis: Die Verwendung von Play App Signing ist optional. Sie können weiterhin ein APK hochladen und Ihre eigenen Schlüssel verwalten, anstatt ein App Bundle zu verwenden. Falls Sie Ihren Schlüsselspeicher jedoch verlieren oder er manipuliert wird, können Sie Ihre App erst dann wieder aktualisieren, wenn Sie eine neue App mit einem neuen Paketnamen veröffentlicht haben.

Beschreibungen der Schlüssel, Artefakte und Tools
Begriff Beschreibung
App-Signaturschlüssel

Der Schlüssel, den Google Play zum Signieren der APKs verwendet, die an das Gerät eines Nutzers gesendet werden. Wenn Sie sich für Play App Signing anmelden, können Sie entweder einen vorhandenen App-Signaturschlüssel hochladen oder einen von Google generieren lassen.

Der App-Signaturschlüssel bleibt für die gesamte Lebensdauer Ihrer App gleich. Halten Sie ihn geheim. Das öffentliche Zertifikat Ihrer App kann dagegen beliebig geteilt werden.

Uploadschlüssel

Der Schlüssel, den Sie zum Signieren Ihres App Bundles oder APK verwenden, bevor Sie es bei Google Play hochladen. Halten Sie Ihren Uploadschlüssel geheim. Das öffentliche Zertifikat Ihrer App kann dagegen beliebig geteilt werden. Aus Sicherheitsgründen ist es ratsam, dass sich App-Signatur- und Uploadschlüssel voneinander unterscheiden.

Es gibt zwei Möglichkeiten, einen Uploadschlüssel zu generieren:

  • App-Signaturschlüssel verwenden: Wenn Sie bei der Anmeldung bei Play App Signing festlegen, dass Google einen App-Signaturschlüssel generieren soll, ist der Schlüssel, den Sie für Ihren ersten Release verwenden, gleichzeitig auch Ihr Uploadschlüssel.
  • Einen separaten Uploadschlüssel verwenden: Wenn Sie bei der Anmeldung einen eigenen App-Signaturschlüssel hochladen, können Sie einen neuen Uploadschlüssel generieren, um die Sicherheit zu erhöhen. Wenn Sie keinen generieren, dient Ihr App-Signaturschlüssel weiterhin gleichzeitig als Uploadschlüssel, mit dem Sie neue Releases signieren.
Zertifikat (.der oder .pem)

Ein Zertifikat enthält einen öffentlichen Schlüssel und identifizierende Informationen zum Inhaber des Schlüssels. Mit dem Public-Key-Zertifikat kann jeder überprüfen, wer das App Bundle oder das APK signiert hat. Das Zertifikat kann beliebig geteilt werden. Es enthält keinen privaten Schlüssel.

Wenn Sie Ihre(n) Schlüssel bei API-Anbietern registrieren möchten, können Sie das öffentliche Zertifikat für Ihren App-Signaturschlüssel und Ihren Uploadschlüssel über die App-Signaturseite in der Play Console herunterladen. Das Public-Key-Zertifikat kann beliebig geteilt werden. Es enthält keinen privaten Schlüssel.

Zertifikat-Fingerabdruck

Eine kurze und eindeutige Darstellung eines Zertifikats, die von API-Anbietern neben dem Paketnamen häufig verlangt wird, wenn man eine App für ihren Dienst registrieren möchte.

Den MD5-, SHA-1- und SHA-256-Fingerabdruck der Upload- und App-Signaturzertifikate finden Sie auf der App-Signaturseite in der Play Console. Wenn Sie das ursprüngliche Zertifikat (.der) von der App-Signaturseite herunterladen, können Sie auch andere Fingerabdrücke berechnen lassen.

Java-Schlüsselspeicher (.jks oder .keystore) Ein Repository mit Sicherheitszertifikaten und privaten Schlüsseln.
Play Encrypt Private Key-Tool (PEPK-Tool)

Mit diesem Tool können Sie private Schlüssel aus einem Java-Schlüsselspeicher exportieren und sie für die Übertragung an Google Play verschlüsseln.

Wenn Sie selbst festlegen, welchen App-Signaturschlüssel Google nutzen soll, wählen Sie die Option zum Exportieren und Hochladen Ihres Schlüssels (und das jeweilige öffentliche Zertifikat, falls erforderlich) aus und folgen Sie der Anleitung zum Herunterladen und Verwenden des Tools. Sie können auch den Open-Source-Code des PEPK-Tools herunterladen, überprüfen und verwenden.

App-Signaturvorgang

Sie können APKs, die mit dem ursprünglichen App-Signaturschlüssel signiert wurden, jederzeit vor oder nach der Anmeldung für Play App Signing hochladen.

Wenn Sie beginnen, App Bundles zu verwenden, können Sie diese in Test-Tracks testen, während Sie Ihr vorhandenes APK für den Produktions-Release verwenden. Das geht so:

  1. Signieren Sie Ihr App Bundle oder APK und laden Sie es in der Play Console hoch.
  2. Der nächste Schritt hängt davon ab, was Sie hochladen:
    • App Bundle:
      • Google generiert aus Ihrem App Bundle optimierte APKs und signiert sie mit dem App-Signaturschlüssel.
      • Google fügt dem Manifest Ihrer App zwei Stempel hinzu (com.android.stamp.source und com.android.stamp.type). So haben Sie die Möglichkeit, den Ursprung des APK zurückzuverfolgen.
    • Mit Uploadschlüssel signiertes APK: Google überprüft Ihre Signatur und entfernt sie dann aus dem APK. Danach wird es mit dem App-Signaturschlüssel neu signiert.
    • Mit App-Signaturschlüssel signiertes APK: Google überprüft die Signatur.
  3. Google sendet signierte APKs an Nutzer.

Play App Signing aktivieren

Neue Apps

Schritt 1: Uploadschlüssel erstellen

  1. Folgen Sie dieser Anleitung, um einen Uploadschlüssel zu erstellen.
  2. Signieren Sie Ihr neues APK mit dem Uploadschlüssel.

Schritt 2: App-Veröffentlichung vorbereiten

  1. Folgen Sie der Anleitung, um Ihren Release vorzubereiten und zu veröffentlichen.
  2. Wählen Sie zuerst den Release-Track aus und konfigurieren Sie dann die App-Signatur im Abschnitt „App-Signaturschlüssel von Google verwalten und schützen lassen“.
  3. Wenn Sie den generierten Schlüssel als Uploadschlüssel zum Signieren künftiger Releases verwenden möchten, klicken Sie auf Weiter. Sie können aber auch auf Einstellungen für App-Signatur klicken und eine der folgenden Optionen auswählen:
    • Denselben Schlüssel wie eine andere App in Ihrem Entwicklerkonto verwenden (Option 2).
    • Einen Schlüssel aus einem Java-KeyStore exportieren und hochladen (Option 3) oder einen Schlüssel exportieren und hochladen, der nicht aus einem Java-KeyStore stammt (Option 4). Wählen Sie die Option zum Exportieren und Hochladen aus, die für Sie am besten geeignet ist. Nachdem Sie den App-Signaturschlüssel und das zugehörige öffentliche Zertifikat hochgeladen haben, können Sie einen Uploadschlüssel erstellen oder weiterhin den App-Signaturschlüssel als Uploadschlüssel verwenden.
    • Play App Signing deaktivieren (Option 5)
  4. Wählen Sie Aktualisieren.

Hinweis: Um fortfahren zu können, müssen Sie die Nutzungsbedingungen akzeptieren und Play App Signing aktivieren.

Schritt 3: App-Signaturschlüssel bei API-Anbietern registrieren

Wenn Ihre App eine API verwendet, müssen Sie normalerweise das Zertifikat des Schlüssels, mit dem Google Ihre App signiert, für die Authentifizierung mit dem Fingerabdruck des Zertifikats registrieren. So finden Sie das Zertifikat:

  1. Öffnen Sie die Play Console.
  2. Klicken Sie im linken Menü auf Release > Einrichten > App-Integrität.
  3. Scrollen Sie zum Abschnitt „Zertifikat für den App-Signaturschlüssel“ und kopieren Sie die Fingerabdrücke (MD5, SHA-1 und SHA-256) Ihres App-Signaturzertifikats.
    • Wenn der API-Anbieter einen anderen Fingerabdrucktyp verlangt, können Sie außerdem das Originalzertifikat im .der-Format herunterladen und es in das vom API-Anbieter vorgegebene Format umwandeln lassen.
Bestehende Apps

Schritt 1: Für Play App Signing anmelden

  1. Öffnen Sie die Play Console.
  2. Wählen Sie eine App aus.
  3. Klicken Sie im linken Menü auf Release > Einrichten > App-Integrität.
  4. Lesen Sie die Nutzungsbedingungen und klicken Sie auf Akzeptieren, falls Sie dies nicht bereits getan haben.

Schritt 2: Ursprünglichen Schlüssel an Google senden und Uploadschlüssel erstellen

  1. Suchen Sie den ursprünglichen App-Signaturschlüssel.
  2. Öffnen Sie die Play Console.
  3. Wählen Sie eine App aus.
  4. Klicken Sie im linken Menü auf Release > Einrichten > App-Integrität.
  5. Wählen Sie die Export- und Upload-Option aus, die am besten zu Ihrem Veröffentlichungsprozess passt, und laden Sie einen vorhandenen App-Signaturschlüssel hoch.

Schritt 3: Uploadschlüssel erstellen (optional und empfohlen)

  1. Erstellen Sie einen Uploadschlüssel und laden Sie das Zertifikat bei Google Play hoch.
    • Sie können auch weiterhin den App-Signaturschlüssel als Uploadschlüssel verwenden.
  2. Kopieren Sie die Fingerabdrücke (MD5, SHA-1 und SHA-256) Ihres App-Signaturzertifikats.
    • Zu Testzwecken müssen Sie unter Umständen das Zertifikat Ihres Uploadschlüssels mithilfe des App-Signaturschlüssels und des Zertifikat-Fingerabdrucks bei API-Anbietern registrieren.

Schritt 4: Nächstes App-Update mit dem Uploadschlüssel signieren

Wenn Sie Updates für Ihre App veröffentlichen, müssen Sie sie mit Ihrem Uploadschlüssel signieren.

  • Falls Sie keinen neuen Uploadschlüssel generiert haben: Verwenden Sie den ursprünglichen App-Signaturschlüssel, um Releases vor dem Upload bei Google Play zu signieren. Wenn Sie Ihren App-Signaturschlüssel verlieren, können Sie einen neuen Uploadschlüssel generieren und ihn bei Google registrieren, um auch in Zukunft Updates Ihrer App signieren und hochladen zu können.
  • Falls Sie einen neuen Uploadschlüssel generiert haben: Verwenden Sie ihn, um Releases vor dem Upload bei Google Play zu signieren. Nachdem Sie einen Release hochgeladen haben, überprüft Google ihn auf einen Uploadschlüssel, um Ihre Identität zu bestätigen. Sollten Sie den Uploadschlüssel verlieren, können Sie den Support kontaktieren, um ihn zurückzusetzen.

Uploadschlüssel erstellen und Schlüsselspeicher aktualisieren

Falls Sie die Sicherheit erhöhen möchten, empfehlen wir, Ihre App mit einem neuen Uploadschlüssel zu signieren, statt Ihren App-Signaturschlüssel zu verwenden.

Sie haben die Möglichkeit, einen Uploadschlüssel zu erstellen, wenn Sie Play App Signing aktivieren. Das können Sie aber auch noch später über Einrichtung > App-Integrität.

So erstellen Sie einen Uploadschlüssel:

  1. Folgen Sie der Anleitung auf der Website für Android-Entwickler. Bewahren Sie Ihren Schlüssel an einem sicheren Ort auf.
  2. Exportieren Sie das Zertifikat für den Uploadschlüssel in das PEM-Format. Ersetzen Sie die folgenden unterstrichenen Argumente:
    • $ keytool -export -rfc -keystore upload-keystore.jks -alias upload -file upload_certificate.pem
  3. Während des Release-Vorgangs werden Sie dazu aufgefordert, das Zertifikat hochzuladen und es so bei Google zu registrieren.

Wenn Sie einen Uploadschlüssel verwenden:

  • Ihr Uploadschlüssel wird nur bei Google registriert, um die Identität des App-Erstellers zu bestätigen.
  • Ihre Signatur wird aus allen hochgeladenen APKs entfernt, bevor diese an die Nutzer gesendet werden
Einschränkungen für Uploadschlüssel
  • Der Uploadschlüssel muss ein RSA-Schlüssel mit einer Mindestgröße von 2.048 Bit sein.
Schlüsselspeicher aktualisieren

Nachdem Sie einen Uploadschlüssel erstellt haben, empfehlen wir, die folgenden Schlüsselspeicher zu überprüfen und zu aktualisieren:

  • Lokale Rechner
  • Durch Zugriffssteuerung gesicherter lokaler Server (verschiedene ACLs)
  • Cloud-Rechner (verschiedene ACLs)
  • Spezielle verwaltete Dienste für Secrets
  • (Git)-Repositories

App-Signaturschlüssel für neue Installationen aktualisieren

Unter bestimmten Umständen können Sie eine Aktualisierung des App-Signaturschlüssels anfordern. Ihr neuer Schlüssel wird dann zum Signieren neuer Installationen und App-Updates verwendet, während der alte weiterhin genutzt wird, um Updates für Nutzer zu signieren, die Ihre App schon vorher installiert hatten.

Beachten Sie, dass der Signaturschlüssel einer App nur einmal aktualisiert werden kann. In dem unwahrscheinlichen Fall, dass mehrere Apps denselben Signaturschlüssel für denselben Prozess verwenden, ist es nicht möglich, einen aktualisierten Schlüssel zu nutzen.

Hier sind einige Gründe, die für eine Aktualisierung des App-Signaturschlüssels sprechen:

  • Sie benötigen einen kryptografisch stärkeren Schlüssel.
  • Ihr App-Signaturschlüssel wurde manipuliert.

Hinweis: Die Aktualisierung des App-Signaturschlüssels in der Play Console hat nichts mit dem Schlüsselwechsel zu tun, der im APK-Signaturschema Version 3 für Android P und höher eingeführt wurde. Diese Art des Schlüsselwechsels wird von Google Play aktuell nicht unterstützt.

Wichtige Hinweise vor dem Anfordern einer Schlüsselaktualisierung

Bevor Sie eine Schlüsselaktualisierung anfordern, sollten Sie sich mit den Änderungen vertraut machen, die Sie anschließend vornehmen müssen.

  • Wenn Sie denselben App-Signaturschlüssel zum Signieren mehrerer Apps verwenden, damit sie Code oder Daten gemeinsam nutzen können, müssen Sie Ihre Apps so aktualisieren, dass sie sowohl den neuen als auch den alten Schlüssel erkennen.
  • Falls Ihre App APIs verwendet, sollten Sie darauf achten, dass Sie die Zertifikate für Ihren neuen und alten App-Signaturschlüssel bei den API-Anbietern vor dem Veröffentlichen eines Updates registrieren, damit die APIs auch weiterhin funktionieren. Zertifikate finden Sie in der Play Console auf der App-Signaturseite.  
  • Wenn Ihre Nutzer App-Updates über Peer-to-Peer-Verbindungen installieren, können sie nur solche Updates installieren, die mit demselben Schlüssel wie die auf ihrem Gerät bereits installierte App-Version signiert sind. Nutzer, die ihre App nicht aktualisieren können, weil sie eine mit einem anderen Schlüssel signierte Version haben, müssen die App deinstallieren und dann neu installieren, um das Update zu erhalten.
Schlüsselaktualisierung für neue Installationen anfordern
  1. Öffnen Sie die Play Console.
  2. Wählen Sie eine App aus.
  3. Klicken Sie im linken Menü auf Release > Einrichten > App-Integrität.
  4. Wählen Sie auf der Karte „App-Signaturschlüssel für neue Installationen aktualisieren“ die Option Schlüsselaktualisierung anfordern.
  5. Wählen Sie eine Option aus.
    • Je nach der von Ihnen ausgewählten Option müssen Sie sich möglicherweise an den Support wenden, um Ihre Anfrage abzuschließen.
  6. Bitten Sie Google, einen neuen App-Signaturschlüssel zu generieren (empfohlen), oder laden Sie einen hoch.
    • Wenn Sie vor dem Aktualisieren Ihres App-Signaturschlüssels denselben Schlüssel als App-Signatur- und als Uploadschlüssel verwendet haben, können Sie Ihren alten App-Signaturschlüssel weiterhin als Uploadschlüssel verwenden oder einen neuen generieren.

Best Practices

  • Falls Sie Ihre App auch außerhalb von Google Play vertreiben oder dies für die Zukunft planen und denselben Signaturschlüssel verwenden möchten, haben Sie zwei Möglichkeiten: 
    • Entweder lassen Sie Google den Schlüssel generieren (empfohlen) und laden dann ein signiertes, universelles APK aus dem App Bundle Explorer herunter, das Sie außerhalb von Google Play vertreiben können. Sie können signierte APKs auch über die Google Play Developer API herunterladen. 
    • Oder Sie generieren den App-Signaturschlüssel, den Sie für alle App-Shops verwenden möchten, und übertragen eine Kopie an Google, wenn Sie sich für Play App Signing anmelden.
  • Zum Schutz Ihres Kontos sollten Sie für Konten mit Zugriff auf die Play Console die Bestätigung in zwei Schritten aktivieren.
  • Nachdem Sie ein App Bundle über einen Test- oder Produktions-Track veröffentlicht haben, können Sie im App Bundle Explorer ein ZIP-Archiv mit allen APKs für ein bestimmtes Gerät herunterladen. Diese APKs sind mit dem App-Signaturschlüssel signiert. Sie können die APKs im ZIP-Archiv mit dem Befehl adb install-multiple *.apk auf einem Gerät installieren.
  • Generieren Sie einen neuen Uploadschlüssel, der sich von Ihrem App-Signaturschlüssel unterscheidet, um die Sicherheit zu erhöhen.
  • Wenn Sie das mit dem Uploadschlüssel signierte APK testen möchten, müssen Sie Ihren Uploadschlüssel bei allen Diensten bzw. APIs registrieren, die die Signatur Ihrer App zur Authentifizierung verwenden. Beispiele dafür sind die Google Maps API oder das Facebook-SDK.
  • Wenn Sie eine Google API verwenden, empfehlen wir Ihnen, das Uploadzertifikat in der Google Cloud Console für Ihre App zu registrieren.

Verloren gegangener oder manipulierter Uploadschlüssel

Wenn Sie Ihren privaten Uploadschlüssel verloren haben oder er manipuliert wurde, können Sie einen neuen erstellen. Bitten Sie dann den Kontoinhaber, sich an den Support zu wenden, um den Schlüssel zurücksetzen zu lassen. Dabei muss er unbedingt die Datei upload_certificate.pem anhängen.

Nachdem unser Supportteam den neuen Uploadschlüssel registriert hat, erhalten Sie eine entsprechende E-Mail. Sie können dann Ihre Schlüsselspeicher aktualisieren und Ihren Schlüssel bei API-Anbietern registrieren.

Wichtig: Das Zurücksetzen des Uploadschlüssels hat keinen Einfluss auf den App-Signaturschlüssel, den Google Play verwendet, um APKs nochmals zu signieren, bevor sie an Nutzer übermittelt werden.

War das hilfreich?
Wie können wir die Seite verbessern?

Benötigen Sie weitere Hilfe?

Anmelden, um weitere Supportoptionen zu erhalten und das Problem schnell zu beheben