Używanie podpisywania aplikacji przez Google Play

Gdy używasz podpisywania aplikacji przez Google Play, Google zarządza kluczem podpisywania Twojej aplikacji i zabezpiecza go oraz wykorzystuje do podpisywania zoptymalizowanych plików APK wygenerowanych z pakietów aplikacji na potrzeby dystrybucji. Usługa podpisywania aplikacji przez Google Play przechowuje Twój klucz podpisywania aplikacji w bezpiecznej infrastrukturze Google i udostępnia opcje uaktualnienia, które zwiększają bezpieczeństwo.

Aby korzystać z podpisywania aplikacji przez Google Play, musisz być właścicielem konta lub użytkownikiem z uprawnieniami do tworzenia wersji produkcyjnej, wykluczania urządzeń i używania podpisywania aplikacji przez Google Play. Konieczne jest także zaakceptowanie Warunków korzystania z usługi.

Jak to działa

Gdy korzystasz z podpisywania aplikacji przez Google Play, Twoje klucze są przechowywane w tej samej bezpiecznej infrastrukturze, której Google używa do przechowywania własnych kluczy. Klucze są chronione przez system zarządzania kluczami (KMS) Google. Więcej informacji o infrastrukturze Google znajdziesz w dokumencie na temat zabezpieczeń Google Cloud.

Aplikacje na Androida są podpisywane kluczem prywatnym. Aby aktualizacje aplikacji były godne zaufania, każdy klucz prywatny jest powiązany z publicznym certyfikatem używanym przez urządzenia i usługi w celu potwierdzenia, że aktualizacja pochodzi z zaufanego źródła. Urządzenia akceptują aktualizacje tylko wtedy, gdy ich podpis jest zgodny z podpisem zainstalowanej aplikacji. Proces będzie bezpieczniejszy, jeśli pozwolisz Google zarządzać kluczem podpisywania aplikacji.

Uwaga: w przypadku aplikacji utworzonych przed sierpniem 2021 roku możesz nadal przesyłać pliki APK i zarządzać własnymi kluczami, zamiast korzystać z usługi podpisywania aplikacji Google Play i publikowania z wykorzystaniem pakietów Android App Bundle. Jeśli jednak utracisz dostęp do magazynu kluczy lub jeśli dostanie się on w niepowołane ręce, nie będziesz mieć możliwości aktualizowania aplikacji. Możesz tylko opublikować nową aplikację z nową nazwą pakietu. W przypadku tych aplikacji zalecamy korzystanie z usługi podpisywania aplikacji Google Play i przejście na pakiety aplikacji.

Opisy kluczy, artefaktów i narzędzi
Termin Opis
Klucz podpisywania aplikacji

Klucz używany przez Google Play do podpisywania plików APK dostarczanych na urządzenia użytkowników. Gdy używasz podpisywania aplikacji przez Google Play, możesz przesłać swój dotychczasowy klucz podpisywania aplikacji lub skorzystać z możliwości wygenerowania go przez Google.

Nie należy go też ujawniać. Z kolei publiczny certyfikat aplikacji można udostępniać innym.

Klucz przesyłania

Klucz używany do podpisywania pakietu aplikacji przed przesłaniem go do Google Play. Nie należy go ujawniać. Z kolei publiczny certyfikat aplikacji można udostępniać innym. Ze względów bezpieczeństwa klucz podpisywania aplikacji i klucz przesyłania powinny się od siebie różnić.

Klucz przesyłania możesz wygenerować na 2 sposoby:

  • Używając klucza podpisywania aplikacji: jeśli zdecydujesz się korzystać z klucza podpisywania aplikacji wygenerowanego przez Google, klucz wykorzystany do podpisania pierwszej wersji stanie się Twoim kluczem przesyłania.
  • Tworząc oddzielny klucz przesyłania: jeśli przekażesz Google własny klucz podpisywania aplikacji, będziesz mieć możliwość wygenerowania nowego klucza przesyłania, aby zwiększyć bezpieczeństwo. Jeśli go nie wygenerujesz, użyj klucza podpisywania aplikacji jako klucza przesyłania do podpisywania wersji.
Certyfikat (.der lub .pem)

Certyfikat zawiera klucz publiczny i dodatkowe informacje identyfikujące właściciela klucza. Certyfikat klucza publicznego umożliwia każdemu sprawdzenie, kto podpisał pakiet aplikacji lub plik APK. Ponieważ certyfikat nie zawiera klucza prywatnego, można go udostępnić każdemu.

Aby zarejestrować swoje klucze u dostawców interfejsów API, ze strony podpisywania aplikacji przez Google Play (Wersja > Konfiguracja > Integralność aplikacji) w Konsoli Play możesz pobrać certyfikat publicznego klucza podpisywania aplikacji i klucza przesyłania. Certyfikat klucza publicznego możesz udostępnić każdemu. Nie zawiera on klucza prywatnego.

Odcisk cyfrowy certyfikatu

Niewielki, unikalny obraz certyfikatu, często wymagany przez dostawców interfejsów API razem z nazwą pakietu w celu zarejestrowania aplikacji, która ma korzystać z ich usługi.

Odciski MD5, SHA-1 i SHA-256 certyfikatów przesyłania i podpisywania aplikacji znajdziesz na stronie podpisywania aplikacji przez Google Play (Wersja > Konfiguracja > Integralność aplikacji) w Konsoli Play. Inne odciski możesz wygenerować, pobierając pierwotny certyfikat (.der) z tej samej strony.

Magazyn kluczy Java (.jks lub .keystore) Repozytorium certyfikatów bezpieczeństwa i kluczy prywatnych.
Narzędzie Play Encrypt Private Key (PEPK)

Narzędzie służące do eksportowania kluczy prywatnych z magazynu kluczy Java i szyfrowania ich w celu przesłania do Google Play.

Gdy przekażesz Google klucz podpisywania aplikacji, wybierz opcję eksportowania i przesyłania klucza (i w razie potrzeby jego certyfikatu publicznego), a następnie wykonaj instrukcje, aby pobrać narzędzie i zacząć go używać. Jeśli wolisz, możesz pobrać, sprawdzić i wykorzystać dostępny na licencji open source kod narzędzia PEPK.

Proces podpisywania aplikacji

Proces ten wygląda tak:

  1. Podpisz pakiet aplikacji i prześlij go do Konsoli Play.
  2. Google generuje zoptymalizowane pliki APK z pakietu aplikacji i podpisuje je kluczem podpisywania aplikacji.
  3. Google za pomocą narzędzia apksigner dodaje 2 znaczniki do pliku manifestu aplikacji (com.android.stamp.sourcecom.android.stamp.type), a następnie podpisuje pliki APK za pomocą Twojego klucza podpisywania aplikacji. Znaczniki dodane przez narzędzie apksigner umożliwiają określenie, kto podpisał pliki APK.
  4. Google dostarcza użytkownikom podpisane pliki APK.

Konfigurowanie podpisywania aplikacji przez Google Play

Instrukcje dotyczące aplikacji utworzonych po sierpniu 2021 roku

Krok 1. Utwórz klucz przesyłania

  1. Utwórz klucz przesyłania, postępując zgodnie z instrukcjami.
  2. Podpisz pakiet aplikacji przy użyciu klucza przesyłania.

Krok 2. Przygotuj wersję

  1. Postępuj zgodnie z instrukcjami, aby przygotować i wdrożyć wersję.
  2. Gdy wybierzesz ścieżkę wersji, w sekcji „Integralność aplikacji” pojawi się stan podpisywania aplikacji przez Google Play.
  3. Aby użyć klucza podpisywania aplikacji wygenerowanego przez Google, prześlij swój pakiet aplikacji. Możesz też wybrać Zmień klucz podpisywania aplikacji, aby uzyskać dostęp do tych opcji:
    • Użycie klucza podpisywania aplikacji wygenerowanego przez Google: ponad 90% nowych aplikacji używa kluczy podpisywania aplikacji wygenerowanych przez Google. Wygenerowany przez Google klucz jest zabezpieczony przed utratą i przejęciem (nie można go pobrać). W przypadku tej opcji możesz pobrać dystrybucyjne pakiety APK z Eksploratora pakietów aplikacji podpisanego kluczem Google wygenerowanym na potrzeby innych kanałów dystrybucji lub użyć dla nich innego klucza.
    • Użycie innego klucza podpisywania aplikacji: po wybraniu klucza podpisywania aplikacji możesz używać tego samego klucza co w przypadku innej aplikacji na koncie dewelopera lub zachować lokalną kopię klucza podpisywania aplikacji, aby uzyskać większą elastyczność. Na przykład możesz mieć już wybrany klucz, ponieważ aplikacja jest już wstępnie zainstalowana na niektórych urządzeniach. Przechowywanie kopii klucza poza serwerami Google zwiększa ryzyko w przypadku przejęcia jego lokalnej kopii. Masz te możliwości użycia innego klucza:
      • Użycie tego samego klucza podpisywania aplikacji, który został użyty w innej aplikacji na tym koncie dewelopera.
      • Wyeksportowanie i przesłanie klucza z magazynu kluczy Java.
      • Wyeksportowanie i przesłanie klucza (bez użycia magazynu kluczy Java).
  4. Wykonaj pozostałe instrukcje, aby przygotować i wdrożyć wersję.

Uwaga: aby kontynuować, musisz zaakceptować Warunki korzystania z usługi i włączyć podpisywanie aplikacji.

Krok 3. Zarejestruj klucz podpisywania aplikacji u dostawców interfejsów API

Jeśli aplikacja korzysta z interfejsów API, zazwyczaj konieczne jest zarejestrowanie w nich klucza podpisywania aplikacji, aby można było przeprowadzić uwierzytelnienie za pomocą odcisku cyfrowego certyfikatu. Aby znaleźć certyfikat:

  1. Otwórz Konsolę Play i wejdź na stronę podpisywania aplikacji przez Google Play (Wersja > Konfiguracja > Integralność aplikacji).
  2. Przewiń do sekcji „Certyfikat klucza podpisywania aplikacji” i skopiuj odciski cyfrowe (MD5, SHA-1 i SHA-256) certyfikatu podpisywania aplikacji.
    • Jeśli dostawca interfejsu API wymaga innego typu odcisku cyfrowego, możesz też pobrać pierwotny certyfikat w formacie .der i przekształcić go za pomocą narzędzi wymaganych przez dostawcę interfejsu API.
Wymagania dotyczące klucza podpisywania aplikacji

Gdy używasz klucza wygenerowanego przez Google, automatycznie generujemy silny klucz RSA o długości 4096 bitów. Jeśli zdecydujesz się przesłać własny klucz podpisywania aplikacji, musi to być klucz RSA o długości co najmniej 1024 bitów.

Instrukcje dotyczące aplikacji utworzonych przed sierpniem 2021 roku

Krok 1. Skonfiguruj podpisywanie aplikacji przez Google Play

  1. Otwórz Konsolę Play i wejdź na stronę podpisywania aplikacji przez Google Play (Wersja > Konfiguracja > Integralność aplikacji).
  2. W razie potrzeby przeczytaj Warunki korzystania z usługi podpisywania aplikacji przez Google Play i wybierz Akceptuj.

Krok 2. Wyślij kopię oryginalnego klucza do Google i utwórz klucz przesyłania

  1. Znajdź pierwotny klucz podpisywania aplikacji.
  2. Otwórz Konsolę Play i wejdź na stronę podpisywania aplikacji przez Google Play (Wersja > Konfiguracja > Integralność aplikacji).
  3. Wybierz opcję eksportowania i przesyłania, która najlepiej pasuje do Twojego procesu publikowania, a następnie prześlij istniejący klucz podpisywania aplikacji.

Krok 3. Utwórz klucz przesyłania (opcjonalne i zalecane)

  1. Utwórz klucz przesyłania i prześlij certyfikat do Google Play.
    • Możesz też nadal używać klucza podpisywania aplikacji w roli klucza przesyłania.
  2. Skopiuj odciski cyfrowe (MD5, SHA-1 i SHA-256) certyfikatu podpisywania aplikacji.
    • Na potrzeby testowania konieczne może być zarejestrowanie certyfikatu klucza przesyłania u dostawców interfejsów API za pomocą odcisku cyfrowego certyfikatu i klucza podpisywania aplikacji.

Krok 4. Podpisz przyszłą aktualizację aplikacji, używając klucza przesyłania

Musisz podpisywać aktualizacje aplikacji swoim kluczem przesyłania.

  • Jeśli nowy klucz przesyłania nie został wygenerowany, nadal używaj pierwotnego klucza podpisywania aplikacji do podpisywania pakietów aplikacji przed przesłaniem ich do Google Play. Jeśli utracisz oryginalny klucz podpisywania aplikacji, możesz wygenerować nowy klucz przesyłania i zarejestrować go w Google, aby móc dalej aktualizować swoją aplikację.
  • Jeśli nowy klucz przesyłania został wygenerowany, używaj go do podpisywania pakietów aplikacji przed przesłaniem ich do Google Play. Google używa klucza przesyłania do potwierdzania Twojej tożsamości. Jeśli utracisz klucz przesyłania, możesz skontaktować się z zespołem pomocy, aby go zresetować.

Tworzenie klucza przesyłania i aktualizowanie magazynów kluczy

Aby zwiększyć bezpieczeństwo, zalecamy podpisywanie aplikacji nowym kluczem przesyłania, a nie kluczem podpisywania aplikacji.

Klucz przesyłania możesz utworzyć podczas rejestrowania się w podpisywaniu aplikacji przez Google Play lub później na stronie podpisywania aplikacji przez Google Play (Wersja > Konfiguracja > Integralność aplikacji).

Aby utworzyć klucz przesyłania:

  1. Postępuj zgodnie z instrukcjami wyświetlanymi na stronie dla deweloperów aplikacji na Androida. Przechowuj klucz w bezpiecznym miejscu.
  2. Wyeksportuj certyfikat klucza przesyłania do formatu PEM. Zastąp następujące podkreślone argumenty:
    • $ keytool -export -rfc -keystore upload-keystore.jks -alias upload -file upload_certificate.pem
  3. Gdy podczas procesu publikowania pojawi się prośba, prześlij certyfikat, aby zarejestrować go w Google.

Gdy używasz klucza przesyłania:

  • Twój klucz przesyłania jest zarejestrowany tylko w Google i jest używany do potwierdzania tożsamości twórcy aplikacji.
  • Twój podpis jest usuwany ze wszystkich przesłanych plików APK, zanim trafią one do użytkowników.
Wymagania związane z kluczem przesyłania
  • Klucz przesyłania musi być kluczem RSA o rozmiarze co najmniej 2048 bitów.
Aktualizowanie magazynów kluczy

Oto kilka lokalizacji, które warto sprawdzić i zaktualizować po utworzeniu klucza przesyłania:

  • Komputery lokalne
  • Zabezpieczony serwer lokalny (zmienne listy kontroli dostępu ACL)
  • Serwer chmury (zmienne listy kontroli dostępu ACL)
  • Dedykowane usługi do zarządzania danymi poufnymi
  • Repozytoria (Git)

Uaktualnienie klucza podpisywania aplikacji używanego do nowych instalacji

W określonych przypadkach możesz poprosić o uaktualnienie klucza podpisywania aplikacji. Nowy klucz służy do podpisywania nowych instalacji i aktualizacji aplikacji. Starszy klucz nadal będzie używany do podpisywania aktualizacji w przypadku tych użytkowników, którzy zainstalowali Twoją aplikację przed uaktualnieniem klucza.

Klucz podpisywania każdej aplikacji można uaktualnić tylko raz. W bardzo rzadkich przypadkach, gdy wiele aplikacji korzysta z tego samego klucza podpisywania, aby mogły działać w ramach jednego procesu, klucza nie można uaktualnić.

Przypadki, w których warto poprosić o uaktualnienie klucza podpisywania aplikacji:

  • Potrzebujesz klucza o lepszym szyfrowaniu.
  • Dostęp do klucza podpisywania aplikacji, którego używasz, uzyskała niepożądana osoba.

Uwaga: prośba o uaktualnienie klucza podpisywania aplikacji w Konsoli Play nie jest powiązana z rotacją klucza wprowadzoną w schemacie podpisu pliku APK w wersji 3 na Androida P i nowsze wersje. Google Play nie obsługuje obecnie takiego rodzaju rotacji klucza.

O czym musisz pamiętać, zanim poprosisz o uaktualnienie klucza

Przed zgłoszeniem prośby o uaktualnienie klucza ważne jest zrozumienie zmian, jakie być może trzeba będzie wprowadzić, gdy proces uaktualniania zostanie zakończony.

  • Jeśli używasz tego samego klucza podpisywania aplikacji w wielu aplikacjach, aby mogły używać wspólnego kodu lub wspólnych danych, trzeba będzie zaktualizować aplikacje, tak aby rozpoznawały zarówno nowe, jak i stare certyfikaty kluczy podpisywania aplikacji.
  • Jeśli aplikacja używa interfejsów API, przed jej zaktualizowaniem zarejestruj certyfikaty nowych i starszych kluczy podpisywania aplikacji u dostawców interfejsów API, aby interfejsy te mogły nadal działać. Certyfikaty są dostępne w Konsoli Play na stronie podpisywania aplikacji przez Google Play (Wersja > Konfiguracja > Integralność aplikacji).  
  • Jeśli jakikolwiek użytkownik Twojej aplikacji instaluje aktualizacje przy użyciu połączenia peer-to-peer, może on zainstalować tylko aktualizacje podpisane tym samym kluczem co aplikacja zainstalowana na jego urządzeniu. Jeśli okaże się, że użytkownik nie może zaktualizować aplikacji, ponieważ ma jej wersję podpisaną innym kluczem, będzie mógł zastosować aktualizację, jeśli odinstaluje, a potem zainstaluje daną aplikację.
Zgłaszanie prośby o uaktualnienie klucza w przypadku nowych instalacji
  1. Otwórz Konsolę Play i wejdź na stronę podpisywania aplikacji przez Google Play (Wersja > Konfiguracja > Integralność aplikacji).
  2. Na karcie „Uaktualnienie klucza podpisywania aplikacji używanego do nowych instalacji” wybierz Poproś o uaktualnienie klucza.
  3. Wybierz opcję.
    • Zależnie od wybranej opcji może zaistnieć potrzeba skontaktowania się z zespołem pomocy, aby zrealizował prośbę.
  4. Poproś Google o wygenerowanie nowego klucza podpisywania aplikacji (zalecane) lub go prześlij.
    • Być może używasz tego samego klucza jako klucza podpisywania aplikacji i klucza przesyłania. W takiej sytuacji po uaktualnieniu klucza podpisywania aplikacji możesz nadal używać jego starszej wersji jako klucza przesyłania lub wygenerować nowy klucz przesyłania.
  5. W razie potrzeby zarejestruj nowy klucz podpisywania aplikacji u dostawców interfejsów API.

Sprawdzone metody

  • Jeśli rozpowszechniasz swoją aplikację poza Google Play lub planujesz to robić w przyszłości i chcesz użyć tego samego klucza podpisywania, masz 2 możliwości:
    • Pozwól Google wygenerować klucz (zalecane), a następnie pobierz podpisany, uniwersalny plik APK z Eksploratora pakietów aplikacji, aby rozpowszechniać swoją aplikację poza Google Play.
    • Możesz też wygenerować klucz podpisywania aplikacji, którego chcesz używać we wszystkich sklepach z aplikacjami, a potem przenieść jego kopię do Google, gdy skonfigurujesz podpisywanie aplikacji przez Google Play.
  • Aby chronić konta z dostępem do Konsoli Play, włącz na nich weryfikację dwuetapową.
  • Po opublikowaniu pakietu aplikacji na ścieżce wersji możesz otworzyć Eksploratora pakietów aplikacji, aby uzyskać dostęp do plików APK z możliwością zainstalowania wygenerowanych przez Google z Twojego pakietu aplikacji. Możesz:
    • Skopiować i udostępnić link do wewnętrznego udostępniania aplikacji, który umożliwia sprawdzenie jednym kliknięciem, które pliki z Twojego pakietu aplikacji będą instalowane na różnych urządzeniach przez Google Play.
    • Pobrać podpisany, uniwersalny plik APK. Ten pojedynczy plik APK jest podpisany kluczem podpisywania aplikacji przechowywanym przez Google i można go zainstalować na dowolnym urządzeniu, które obsługuje Twoja aplikacja.
    • Pobrać archiwum ZIP ze wszystkimi plikami APK dla konkretnego urządzenia. Pliki APK są podpisane kluczem podpisywania aplikacji przechowywanym przez Google. Możesz je zainstalować w archiwum ZIP na urządzeniu za pomocą polecenia adb install-multiple *.apk.
  • Aby zwiększyć bezpieczeństwo, wygeneruj nowy klucz przesyłania, który różni się od klucza podpisywania aplikacji.
  • Jeśli używasz interfejsu API Google, możesz zarejestrować certyfikaty klucza przesyłania i klucza podpisywania aplikacji w Google Cloud Console.

Utracony lub przejęty klucz przesyłania

Jeśli utracisz dostęp do swojego prywatnego klucza przesyłania lub dostanie się on w niepowołane ręce, możesz utworzyć nowy, a potem poprosić właściciela konta o skontaktowanie się z zespołem pomocy i zresetowanie klucza. Właściciel konta powinien wtedy pamiętać o załączeniu pliku upload_certificate.pem.

Otrzymasz e-maila, gdy nasz zespół pomocy zarejestruje nowy klucz przesyłania. Możesz wtedy zaktualizować magazyny kluczy i zarejestrować swój klucz u dostawców interfejsów API.

Ważne: resetowanie klucza przesyłania nie ma wpływu na klucz podpisywania aplikacji, którego Google Play używa do ponownego podpisania plików APK przed dostarczeniem ich użytkownikom.

Schemat podpisywania plików APK w wersji 4

Urządzenia z Androidem 11 lub nowszym obsługują nowy schemat podpisywania plików APK w wersji 4. W ramach podpisywania aplikacji przez Google Play zaczniemy wdrażać tę wersję w wybranych aplikacjach, aby mogły one korzystać z nadchodzących funkcji poprawiających wydajność, które będą dostępne na nowszych urządzeniach. Nie jest wymagane żadne działanie ze strony dewelopera. Nie przewidujemy też, aby zmiana miała wpływ na użytkowników.

 

Czy to było pomocne?
Jak możemy ją poprawić?

Potrzebujesz dodatkowej pomocy?

Zaloguj się i uzyskaj dodatkowe informacje, by szybko rozwiązać problem

Szukaj
Wyczyść wyszukiwanie
Zamknij wyszukiwanie
Aplikacje Google
Menu główne
Wyszukaj w Centrum pomocy
true
92637
false