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 feliratkozást a fióktulajdonosok, illetve a Kiadás éles verzióban, eszközök kizárása és a Google Play alkalmazás-aláíró szolgáltatásának használata 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ásaKifejezé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:
|
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 ( |
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 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 alkalmazáscsomagokra váltasz, tesztelési csatornákon tesztelheted őket, miközben éles kiadásként a meglévő APK-t használod. A folyamat a következő:
- Írd alá az alkalmazáscsomagot vagy APK-t, majd töltsd fel a Play Console rendszerébe.
- 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.
- 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ások1. lépés: A feltöltési kulcs létrehozása
- Az utasításokat követve hozz létre feltöltési kulcsot.
- Írd alá az új APK-t a feltöltési kulccsal.
2. lépés: A kiadás előkészítése
- Kövesd a kiadás előkészítésére és kiadására vonatkozó lépéseket.
- A kiadási csatorna 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.
- 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. Alternatív megoldásként Az alkalmazás-aláírás beállításai szakaszban 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ő kulcs exportálása és feltöltése Java-kulcstárból (3. lehetőség) vagy nem Java-kulcstár használatával (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.
- Kilépés a Google Play alkalmazás-aláírási programjából (4. lehetőség)
- Válaszd a Frissítés lehetőséget.
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:
- Nyisd meg a Play Console oldalát.
- A bal oldali menüben válaszd a Kiadás > Beállítás > Alkalmazások aláírása lehetőséget.
- Görgess az „Alkalmazás-aláíró kulcs tanúsítványa” szakaszhoz, és másold ki az alkalmazás-aláíró tanúsítványod ujjlenyomatait (MD5, SHA-1 és SHA-256).
- 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.
- Ha az API-szolgáltatónak másfajta ujjlenyomatra van szüksége, az eredeti tanúsítványt is letöltheted
1. lépés: Jelentkezés a Google Play alkalmazás-aláíró programjára
- Nyisd meg a Play Console oldalát.
- Válaszd ki az alkalmazást.
- A bal oldali menüben válaszd a Kiadás > Beállítás > Alkalmazások aláírása lehetőséget.
- 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
- Keresd meg az eredeti alkalmazás-aláíró kulcsot.
- Nyisd meg a Play Console oldalát.
- Válaszd ki az alkalmazást.
- A bal oldali menüben válaszd a Kiadás > Beállítás > Alkalmazások aláírása lehetőséget.
- 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)
- 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.
- Másold ki az alkalmazás-aláíró tanúsítványod ujjlenyomatait (MD5, SHA-1 és SHA-256).
- 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:
- Kövesd az Android-fejlesztők webhelyén található utasításokat. A kulcsot biztonságos helyen tárold.
- 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
-
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.
- Legalább 2048 bites RSA-kulcsnak kell lennie.
Ú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élFontos, 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.
- Jelentkezz be a Play Console oldalán.
- Válaszd ki az alkalmazást.
- A bal oldali menüben válaszd a Kiadás > Beállítás > Alkalmazások aláírása lehetőséget.
- Kattints 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 gombra.
- Válaszd ki a kívánt lehetőséget.
- 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.
- 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, és a meglévő aláíró kulcsot használnád, két lehetőséged van:
- Hagyhatod, hogy a Google generálja a kulcsot (ajánlott), majd letölthetsz egy aláírt, univerzális APK-t az App Bundle Explorerből, és ezt terjesztheted a Google Playen kívül. Letölthetsz aláírt APK-kat a Google Play Developer API-val is.
- Vagy pedig saját alkalmazás-aláíró kulcsot generálhatsz a külső alkalmazásboltokhoz – ezt később átadhatod a Google-nak, ha a Google Play alkalmazás-aláíró szolgáltatása mellett döntesz.
- 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 Alkalmazáscsomag-kezelő 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, és az
adb install-multiple *.apk
paranccsal 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.