A Google Play alkalmazás-aláíró szolgáltatásának használata

A Google Play alkalmazás-aláíró szolgáltatásának keretében a Google átvállalja az alkalmazás-aláíró kulcsod kezelésének és védelmének feladatát, továbbá elvégzi a terjesztésre szánt APK-k aláírását is. A szolgáltatás biztonságos módszert jelent az alkalmazás-aláíró kulcs tárolására, valamint megoldást nyújt arra az esetre, ha a kulcs elveszik vagy idegenek kezébe kerül.

Fontos: Ha az ajánlott alkalmazás-közzétételi formátumot, vagyis az Android App Bundle csomagokat szeretnéd használni, az alkalmazáscsomag Play Console-ra való feltöltése előtt jelentkezned kell a Google Play alkalmazás-aláíró szolgáltatására.

A jelentkezést a fióktulajdonosok, illetve a globális „Éles kiadások kezelése” engedéllyel rendelkező felhasználók végezhetik el. A szolgáltatás igénybevételének feltétele a vonatkozó általános szerződési feltételek elfogadása. A Google Play alkalmazás-aláíró szolgáltatása minden alkalmazáshoz külön-külön választható.

Működés

Ha a Google Play alkalmazás-aláíró szolgáltatását használod, a kulcsokat ugyanaz a biztonságos infrastruktúra tárolja, mint amelyet a Google is használ saját kulcsai tárolására. A kulcsokat a Google kulcskezelő szolgáltatása védi. A Google műszaki infrastruktúrájának részleteit a Google Cloud Security Whitepapers című dokumentumból ismerheted meg.

Az Android-alkalmazások aláírása privát kulccsal történik. Hogy az alkalmazásfrissítések megbízhatósága is ellenőrizhető legyen, minden privát kulcshoz nyilvános tanúsítvány tartozik, amellyel az eszközök és a szolgáltatások ellenőrizhetik, hogy az alkalmazás megbízható forrásból származik-e. Az eszközök csak akkor fogadják el a frissítéseket, ha a hozzájuk tartozó aláírás megegyezik a telepített alkalmazás aláírásával. A folyamat még biztonságosabb, ha a Google kezeli az alkalmazás-aláíró kulcsot.

Megjegyzés: A Google Play alkalmazás-aláíró szolgáltatásának használata nem kötelező. Alkalmazáscsomag helyett APK-t is feltölthetsz, amelynek kulcsait magad kezelheted. Ebben az esetben azonban nem tudod majd frissíteni az alkalmazásodat, ha kulcstárad elveszik vagy illetéktelenekhez kerül – ilyen esetben új csomagnévvel rendelkező új alkalmazást kell közzétenned.

A kulcsok, köztes termékek és eszközök leírása
Kifejezés Leírás
Alkalmazás-aláíró kulcs

A kulcs, amellyel a Google Play aláírja a felhasználói eszközökre kerülő APK-kat. Amikor regisztrálsz a Google Play alkalmazás-aláíró szolgáltatására, feltölthetsz meglévő alkalmazás-aláíró kulcsot, vagy kérheted, hogy a Google újat állítson elő.

Az alkalmazás-aláíró kulcs az alkalmazás élettartama során egyszer sem módosítható. Az alkalmazás-aláíró kulcsot tartsd titokban; a nyilvános tanúsítványt megoszthatod másokkal.

Feltöltési kulcs

A kulcs, amellyel aláírod az alkalmazáscsomagot vagy az APK-t, mielőtt feltöltenéd a Google Playre. A feltöltési kulcsot tartsd titokban; az alkalmazás nyilvános tanúsítványát megoszthatod másokkal. Biztonsági okokból javasoljuk, hogy az alkalmazás-aláíró kulcs különbözzön a feltöltési kulcstól.

A feltöltési kulcsok létrehozásának két módja van:

  • Alkalmazás-aláíró kulcs használata: Ha a Google hozza létre az alkalmazás-aláíró kulcsot a szolgáltatás használatba vételekor, akkor az első kiadás aláírására használt kulcs lesz a feltöltési kulcsod is.
  • Eltérő feltöltési kulcs használata: Ha saját alkalmazás-aláíró kulcsot adsz meg a szolgáltatás igénybevételekor, akkor a folyamat során dönthetsz úgy, hogy a nagyobb biztonság érdekében új feltöltési kulcsot hozol létre. Ha nem hozol létre új kulcsot, az alkalmazás-aláíró kulcsot használhatod feltöltési kulcsként a kiadások aláírásához.
Tanúsítvány (.der vagy .pem)

A tanúsítvány nyilvános kulcsot tartalmaz, valamint néhány adatot a kulcs birtokosára vonatkozóan. A nyilvánoskulcs-tanúsítvány segítségével bárki ellenőrizheti, hogy ki írta alá az alkalmazáscsomagot vagy APK-t. A tanúsítványt bárkivel megoszthatod, mert nem tartalmazza a privát kulcsot.

Ha a kulcsodat API-szolgáltatónál regisztrálnád, töltsd le az alkalmazás-aláíró kulcshoz tartozó nyilvános tanúsítványt és feltöltési kulcsot a Play Console Alkalmazások aláírása oldaláról. A nyilvánoskulcs-tanúsítvány bárkivel megosztható. Nem tartalmazza a privát kulcsot.

Tanúsítvány ujjlenyomata

A tanúsítvány rövid, egyedi leírása, amelyet az API-szolgáltatók gyakran elkérnek a csomagnévvel együtt, amikor alkalmazásodat a szolgáltatásukra regisztrálod.

A felöltési és alkalmazás-aláíró tanúsítványaid MD5, SHA-1 és SHA-256 ujjlenyomatait a Play Console Alkalmazások aláírása oldalán találod. Más ujjlenyomatokhoz is hozzájuthatsz, ha ugyaninnen letöltöd az eredeti tanúsítványt (.der kiterjesztéssel).

Java-kulcstár (.jks vagy .keystore) Biztonsági tanúsítványok és privát kulcsok tárolója.
Play Encrypt Private Key (PEPK) eszköz

Ezzel az eszközzel exportálhatsz privát kulcsokat Java-kulcstárból, hogy titkosítás után átadd őket a Google Playnek.

Amikor átadod az alkalmazás-aláíró kulcsot a Google-nak, válaszd a kulcs (és szükség szerint a publikus tanúsítvány) exportálására és feltöltésére vonatkozó lehetőséget, majd kövesd az eszköz letöltésére és használatára vonatkozó utasításokat. A PEPK eszköz nyílt forráskódját szabadon letöltheted, átnézheted és felhasználhatod.

Az alkalmazás-aláírás folyamata

Az eredeti alkalmazás-aláíró kulccsal aláírt APK-kat a Google Play általi aláírásra való jelentkezés előtt és után is feltöltheted.

Ha Android App Bundle csomagokra váltasz, tesztkiadásként tesztelheted őket, miközben éles kiadásként a meglévő APK-t használod. A folyamat a következő:

  1. Írd alá az alkalmazáscsomagot vagy APK-t, majd töltsd fel a Play Console rendszerébe.
  2. Attól függően, hogy mit töltesz fel, az aláírási folyamat a következőkben tér el:
    • Alkalmazáscsomag: A Google optimalizált APK-kat hoz létre az alkalmazáscsomagodból, majd aláírja őket az alkalmazás-aláíró kulccsal.
    • Feltöltési kulccsal aláírt APK: A Google ellenőrzi az APK-t, törli az aláírásodat, majd újra aláírja az APK-t az alkalmazás-aláíró kulccsal.
    • Alkalmazás-aláíró kulccsal aláírt APK: A Google ellenőrzi az aláírást.
  3. A Google továbbítja a felhasználóknak az aláírt APK-kat.

Jelentkezés a Google Play alkalmazás-aláíró szolgáltatására

Új alkalmazások

1. lépés: A feltöltési kulcs létrehozása

  1. Az utasításokat követve hozz létre feltöltési kulcsot.
  2. Írd alá az új APK-t a feltöltési kulccsal.

2. lépés: A kiadás előkészítése

  1. Kövesd a kiadás előkészítésére és kiadására vonatkozó lépéseket.
  2. A kiadási verzió kiválasztása után állítsd be az alkalmazás-aláírást „A Google kezelheti és védheti az alkalmazás-aláíró kulcsot” szakaszban.
  3. Válaszd a Folytatás lehetőséget, melynek hatására a létrehozott kulcs a későbbi kiadások aláírásához használandó feltöltési kulccsá válik, vagy pedig válaszd a Speciális beállítások elemet, amelyben a következőkre van lehetőséged:
    • Másik alkalmazás által is használt kulcs használata a fejlesztői fiókodban (2. lehetőség).
    • Meglévő alkalmazás-aláíró kulcs feltöltése (2., 3. és 4. lehetőség): Válaszd ki a számodra leginkább megfelelő exportálási és feltöltési lehetőséget. Az alkalmazás-aláíró kulcs és a hozzá tartozó nyilvános tanúsítvány feltöltése után létrehozhatsz feltöltési kulcsot, vagy továbbra is használhatod az alkalmazás-aláíró kulcsot feltöltési kulcsként.

Megjegyzés: A folytatáshoz el kell fogadnod az Általános Szerződési Feltételeket, valamint jelentkezned kell az alkalmazás-aláíró szolgáltatásra.

3. lépés: Az alkalmazás-aláíró kulcs regisztrálása API-szolgáltatóknál

Ha alkalmazásod API-t használ, általában regisztrálnod kell annak a kulcsnak a tanúsítványát, amellyel a Google aláírja az alkalmazásodat, hogy a tanúsítvány ujjlenyomatával a szolgáltató hitelesítést végezhessen. A tanúsítványt a következő helyen találod:

  1. Jelentkezz be a Play Console oldalán.
  2. Válaszd ki a kívánt alkalmazást.
  3. Válaszd a bal oldali menüben található Verziókezelés > Alkalmazások aláírása lehetőséget.
  4. Másold ki az alkalmazás-aláíró tanúsítványod ujjlenyomatait (MD5, SHA-1 és SHA-256).
  5. Ha az API-szolgáltatónak másfajta ujjlenyomatra van szüksége, az eredeti tanúsítványt is letöltheted .der formátumban, majd átalakíthatod az API-szolgáltató által megkövetelt transzformációs eszközökkel.
Meglévő alkalmazások

1. lépés: Jelentkezés a Google Play alkalmazás-aláíró programjára

  1. Jelentkezz be a Play Console oldalán.
  2. Válaszd ki a kívánt alkalmazást.
  3. Válaszd a bal oldali menüben található Verziókezelés > Alkalmazások aláírása lehetőséget.
  4. Ha még nem tetted meg, olvasd el az Általános Szerződési Feltételeket, majd válaszd az Elfogadom gombot.

2. lépés: Az eredeti kulcs elküldése a Google-nak és feltöltési kulcs létrehozása

  1. Keresd meg az eredeti alkalmazás-aláíró kulcsot.
  2. Jelentkezz be a Play Console oldalán.
  3. Válaszd ki a kívánt alkalmazást.
  4. Válaszd a bal oldali menüben található Verziókezelés > Alkalmazások aláírása lehetőséget.
  5. Válaszd ki a kiadási folyamatodnak leginkább megfelelő exportálási és feltöltési beállítást, majd tölts fel meglévő alkalmazás-aláíró kulcsot.

3. lépés: Feltöltési kulcs létrehozása (nem kötelező, de ajánlott)

  1. Hozz létre feltöltési kulcsot, majd töltsd fel a tanúsítványt a Google Play rendszerébe.
    • Továbbra is használhatod az alkalmazás-aláíró kulcsot feltöltési kulcsként.
  2. Másold ki az alkalmazás-aláíró tanúsítványod ujjlenyomatait (MD5, SHA-1 és SHA-256).
  3. Lehet, hogy alkalmazásod teszteléséhez regisztrálnod kell API-szolgáltatóidnál a feltöltési kulcs tanúsítványát a tanúsítvány ujjlenyomatának és az alkalmazás-aláíró kulcsnak a használatával.

4. lépés: A következő alkalmazásfrissítés aláírása a feltöltési kulccsal

Alkalmazásod új frissítéseit alá kell írnod a feltöltési kulccsal.

  • Ha nem hoztál létre új feltöltési kulcsot: Továbbra is az eredeti alkalmazás-aláíró kulccsal írhatod alá a kiadásokat, mielőtt feltöltenéd őket a Google Playre. Ha elveszíted az alkalmazás-aláíró kulcsot, új feltöltési kulcs létrehozásával és regisztrálásával folytathatod az alkalmazás frissítését.
  • Ha új feltöltési kulcsot hoztál létre: Az új feltöltési kulccsal írhatod alá a kiadásokat, mielőtt feltöltenéd őket a Google Playre. A feltöltést követően a Google a kiadás feltöltési kulcsával ellenőrzi személyazonosságodat. Ha a feltöltési kulcsod elveszett, kérd meg az ügyfélszolgálatot a visszaállítására.

Feltöltési kulcs létrehozása és kulcstárak frissítése

A nagyobb biztonság érdekében javasoljuk, hogy az alkalmazás-aláíró kulcs helyett új feltöltési kulccsal írd alá az alkalmazásodat.

Létrehozhatsz feltöltési kulcsot akkor, amikor jelentkezel a Google Play alkalmazás-aláíró szolgáltatására, valamint később is a Verziókezelés > Alkalmazások aláírása oldalon.

Feltöltési kulcs létrehozásának lépései:

  1. Kövesd az Android-fejlesztők webhelyén található utasításokat. A kulcsot biztonságos helyen tárold.
  2. Exportáld a feltöltési kulcs tanúsítványát PEM-formátumban. Cseréld ki az alábbi aláhúzott argumentumokat:
    • $ keytool -export -rfc -keystore upload-keystore.jks -alias upload -file upload_certificate.pem
  3. A Google-nál való regisztrációhoz töltsd fel a tanúsítványt, amikor a kiadási folyamat erre kér.

A feltöltési kulcs használata:

  • A Google csak azért regisztrálja a feltöltési kulcsot, hogy hitelesíthesse az alkalmazás készítőjének személyazonosságát.
  • Az aláírást eltávolítjuk a feltöltött APK-król, mielőtt a felhasználókhoz kerülnének.
A feltöltési kulcsra vonatkozó korlátozások
  • Legalább 2048 bites RSA-kulcsnak kell lennie.
  • A DSA-, EC- és 2048 bitesnél kisebb RSA-kulcsokat nem támogatjuk.
A kulcstárak frissítése

Új feltöltési kulcs létrehozása után többek között az alábbiak frissítésére lehet szükség:

  • Helyi gépek
  • Zárolt helyi szerver (változó ACL-ekkel)
  • Felhőbeli gép (változó ACL-ekkel)
  • Dedikált titokkezelő szolgáltatások
  • (Git) tárhelyek

Új alkalmazás-aláíró kulcs kérése az új telepítésekhez

Bizonyos esetekben új alkalmazás-aláíró kulcsot kérhetsz. Az új kulccsal az új telepítéseket és az új telepítések frissítéseit írhatod alá. Az új kulcs létrehozásának idején már meglévő telepítések frissítéséhez azonban ezt követően is a régi kulcsot kell használnod.

Egy-egy alkalmazás aláíró kulcsa csak egyszer módosítható. Nincs lehetőség az alkalmazás-aláíró kulcs módosítására az olyan (ritkán előforduló) alkalmazások esetében, amelyek kifejezetten azért használnak azonos aláíró kulcsot, hogy egyetlen közös folyamatként futhassanak.

Például a következő esetekben kérhetsz új alkalmazás-aláíró kulcsot:

  • Kriptográfiailag erősebb kulcsra van szükséged.
  • A meglévő kulcs illetéktelen kezekbe került.

Megjegyzés: A Play Console-on kért új alkalmazás-aláíró kulcsoknak nincs közük az Android P-vel bevezetett 3-as verziójú APK-aláírási séma kulcsmódosítási rendszeréhez. Ezt a fajta kulcsmódosítást a Google Play jelenleg nem támogatja.

Fontos szempontok, mielőtt új aláíró kulcsot kérnél

Fontos, hogy új alkalmazás-aláíró kulcs kérése előtt megértsd azokat a változtatásokat, amelyekre esetleg szükség lehet az új kulcs átvétele után.

  • Ha több alkalmazáshoz is azonos aláíró kulcsot használsz, mert adatokat vagy kódot osztasz meg közöttük, mindegyik alkalmazást frissítened kell, hogy a régi és az új aláíró tanúsítványt is felismerjék.
  • Ha alkalmazásod külső API-t használ, a frissítés közzététele előtt az új és a régi aláíró kulcs tanúsítványát is regisztráld az API szolgáltatójánál, hogy az API biztosan működjön. Az aláíró tanúsítványokat megtalálod a Play Console Alkalmazások aláírása oldalán.  
  • A frissítéshez peer-to-peer rendszerű megosztást alkalmazó felhasználók csak azokat a frissítéseket telepíthetik, amelyeket azzal a kulccsal írtál alá, mint a már telepített verziót. Ha felhasználóid az új kulcs miatt nem kapják meg a frissítéseket, az alkalmazás eltávolításával és újratelepítésével megoldhatják a problémát.
Új kulcs kérése az új telepítésekhez
  1. Jelentkezz be a Play Console oldalán.
  2. Válaszd ki a kívánt alkalmazást.
  3. Válaszd a bal oldali menüben található Verziókezelés > Alkalmazások aláírása lehetőséget.
  4. Válaszd az „Új alkalmazás-aláíró kulcs kérése az új telepítésekhez” kártyán látható Kulcs cseréjének kérelmezése lehetőséget.
  5. Válaszd ki a kívánt lehetőséget.
  6. A választott lehetőségtől függően előfordulhat, hogy a kérelem végrehajtásához fel kell venned a kapcsolatot az ügyfélszolgálattal.
  7. Válaszd ki a Google által generált alkalmazás-aláíró kulcsot (ajánlott), vagy tölts fel sajátot.
    • Ha ugyanazt a kulcsot használtad alkalmazásod aláíró és feltöltési kulcsaként, akkor az alkalmazás-aláíró kulcsod módosítása után továbbra is használhatod a régi aláíró kulcsot feltöltési kulcsként, de új feltöltési kulcsot is generálhatsz.

Bevált módszerek

  • Ha alkalmazásodat a Google Playen kívül is terjeszted vagy tervezed terjeszteni, létrehozhatsz olyan alkalmazás-aláíró kulcsot, amelyet az összes alkalmazás-áruházban használsz majd, és feltöltheted a Google rendszerébe, amikor regisztrálsz a Google Play alkalmazás-aláíró szolgáltatására.
  • Saját fiókod biztonsága érdekében kapcsold be a kétlépcsős azonosítást minden olyan fiókodban, amely hozzáférhet a Play Console-hoz.
  • A tesztelési és éles kiadású alkalmazáscsomagok közzététele után az App Bundle Explorer segítségével eszköztípusonként letöltheted az összes APK-t ZIP-archívum formájában. A ZIP-archívumban lévő APK-k az alkalmazás-aláíró kulccsal lettek aláírva; a bundletool parancssori segédprogrammal telepítheted őket a kívánt eszközre.
  • A nagyobb biztonság érdekében hozz létre új, az alkalmazás-aláíró kulcstól eltérő feltöltési kulcsot.
  • Ha tesztelni szeretnéd a feltöltési kulccsal aláírt APK-t, regisztrálnod kell a feltöltési kulcsot minden olyan szolgáltatással vagy API-val, amely az alkalmazás aláírását használja a hitelesítéshez (például Google Maps API vagy Facebook SDK).
  • Google API használata esetén célszerű regisztrálnod az alkalmazás feltöltési tanúsítványát a Google Cloud Console szolgáltatásban.

Elveszett vagy ellopott feltöltési kulcs

Ha privát feltöltési kulcsod elveszett vagy idegenek kezébe került, létrehozhatsz újat, majd megkérheted a fióktulajdonost, hogy forduljon az ügyfélszolgálathoz a kulcs visszaállítása érdekében. Az ügyfélszolgálattal való kapcsolatfelvételkor a fióktulajdonosnak az upload_certificate.pem fájlt is csatolnia kell.

Amint ügyfélszolgálatunk regisztrálta az új feltöltési kulcsot, e-mailt küldünk. Ezt követően már frissítheted a kulcstárakat, és regisztrálhatod az új kulcsot az API-szolgáltatóknál.

Fontos: A feltöltési kulcs visszaállítása nincs hatással arra az alkalmazás-aláíró kulcsra, amelyet a Google Play az APK-k újbóli aláírására használ a felhasználóknak való közzététel előtt.

Hasznosnak találta?
Hogyan fejleszthetnénk?