Користите потписивање Play апликација

Помоћу потписивања Play апликација Google управља кључем за потписивање апликација, штити га за вас и користи за потписивање оптимизованих APK-ова за дистрибуцију који се генеришу из скупова апликација. Потписивање Play апликација чува кључ за потписивање апликација у безбедној Google инфраструктури и нуди опције надоградње ради повећања безбедности.

Да бисте користили потписивање Play апликација, морате да будете власник налога или корисник са дозволом за објављивање производних верзија, изузимање уређаја и коришћење потписивања Play апликација и морате да прихватите услове коришћења услуге потписивања Play апликација.

Принцип рада

Када користите потписивање Play апликација, ваши кључеви се чувају у истој безбедној инфраструктури коју Google користи за чување својих кључева. Кључеве штити Google услуга за управљање кључевима. Ако желите да сазнате више о Google инфраструктури, прочитајте белу књигу о безбедности Google клауда.

Android апликације се потписују помоћу приватног кључа. Да би се осигурало да су ажурирања апликација поуздана, сваки приватни кључ има повезан јавни сертификат који уређаји и услуге користе да би потврдили да је ажурирање апликације из истог извора. Уређаји прихватају ажурирања само када се потпис подудара са потписом инсталиране апликације. Ако дозволите да Google управља кључем за потписивање апликација, овај процес је безбеднији.

Напомена: Кад је реч о апликацијама направљеним пре августа 2021, и даље можете да отпремите APK и управљате сопственим кључевима уместо да користите потписивање Play апликација и објављивање помоћу Android App Bundle-а. Међутим, ако изгубите складиште кључева или оно постане угрожено, нећете моћи да ажурирате апликацију ако не објавите нову апликацију са новим називом пакета. За те апликације Play препоручује коришћење потписивања Play апликација и прелазак на скупове апликација.

Описи кључева, артефаката и алатки
Термин Опис
Кључ за потписивање апликација

Кључ који Google Play користи да би потписао APK-ове који се испоручују на уређај корисника. Када користите потписивање Play апликација, можете да отпремите постојећи кључ за потписивање апликација или Google може да га генерише за вас.

Не откривајте кључ за потписивање апликација, али јавни сертификат апликације можете да делите са другима.

Кључ за отпремање

Кључ који користите за потписивање скупа апликација пре него што га отпремите на Google Play. Не откривајте кључ за отпремање, али јавни сертификат апликације можете да делите са другима. Из безбедносних разлога препоручујемо да се кључ за потписивање апликација и кључ за отпремање разликују.

Кључ за отпремање можете да генеришете на два начина:

  • Помоћу кључа за потписивање апликација: Ако Google генерише кључ за потписивање апликација, кључ који сте употребили за потписивање првог издања биће и кључ за отпремање.
  • Помоћу посебног кључа за отпремање: Ако доставите властити кључ за потписивање апликација, имаћете опцију да генеришете нови кључ за отпремање ради додатне безбедности. Ако га не генеришете, користите кључ за потписивање апликација као кључ за отпремање да бисте потписивали издања.
Сертификат (.der или .pem)

Сертификат садржи јавни кључ и додатне информације за идентификацију власника кључа. Јавни сертификат за кључ омогућава да сви провере ко је потписао скуп апликација или APK и можете да га делите са свима јер не обухвата приватни кључ.

Да бисте регистровали кључеве код добављача API-ја, можете да преузмете јавни сертификат за кључ за потписивање апликација и кључ за отпремање на страници Потписивање Play апликација (Издање > Подешавање > Потписивање апликација) у Play конзоли. Јавни сертификат за кључ може да се дели са свима. Не обухвата ваш приватни кључ.

Дигитални отисак сертификата

Кратак и јединствен приказ сертификата који добављачи API-ја често захтевају заједно са називом пакета да би регистровали апликацију за коришћење њихове услуге.

Дигитални отисци MD5, SHA-1 и SHA-256 за сертификате за отпремање и потписивање апликација налазе се на страници Потписивање Play апликација (Издање > Подешавање > Потписивање апликација) у Play конзоли. Други дигитални отисци могу да се добију и преузимањем оригиналног сертификата (.der) са исте странице.

Java складиште кључева (.jks или .keystore) Складиште безбедносних сертификата и приватних кључева.
Алатка Play шифровање приватних кључева (PEPK)

Алатка за извоз приватних кључева из Java складишта кључева и шифровање ради преноса на Google Play.

Када доставите кључ за потписивање апликација који ће Google користити, изаберите опцију за извоз и отпремање кључа (и јавног сертификата ако је то потребно) и пратите упутства за преузимање и коришћење алатке. Ако то желите, можете да преузмете, прегледате и користите отворени изворни кôд алатке PEPK.

Процес потписивања апликација

Ево како процес функционише:

  1. Потпишите скуп апликација и отпремите га на Play конзолу.
  2. Google генерише оптимизоване APK-ове из скупа апликација и потписује их помоћу кључа за потписивање апликација.
  3. Google користи apksigner да би додао два печата у манифест апликације (com.android.stamp.source и com.android.stamp.type) и затим потписао APK-ове помоћу вашег кључа за потписивање апликација. Печати које је додао apksigner омогућавају праћење APK-ова до особа које су их потписале.
  4. Google испоручује потписане APK-ове корисницима.

Подесите потписивање Play апликација и управљајте њиме

Ако апликација још увек не користи потписивање Play апликација, пратите упутства у наставку.

1. корак: Направите кључ за отпремање

  1. Пратите ова упутства и направите кључ за отпремање.
  2. Потпишите скуп апликација помоћу кључа за отпремање.

2. корак: Припремите издање

  1. Пратите упутства да бисте припремили и увели издање.
  2. Кад изаберете верзију за објављивање, одељак Интегритет апликације приказује статус потписивања Play апликација за апликацију.
  3. Да бисте наставили помоћу кључа за потписивање апликација који генерише Google, отпремите скуп апликација. Можете и да изаберете Промените кључ за потписивање апликација да бисте приступили следећим опцијама:
    • Користите кључ за потписивање апликација који генерише Google: Више од 90% нових апликација користи кључеве за потписивање апликација које генерише Google. Коришћење кључа који генерише Google штити вас од губитка или угрожавања (кључ не може да се преузме). Ако одаберете ову опцију, можете да преузмете APK-ове за дистрибуцију из Истраживача за скуп апликација који је потписан кључем који генерише Google за друге канале дистрибуције или да за њих користите други кључ.
    • Користите други кључ за потписивање апликација: Ако изаберете кључ за потписивање апликација, можете да користите исти кључ као другу апликацију на налогу програмера или да задржите локалну копију кључа за потписивање апликација ради веће флексибилности. На пример, можда сте се већ одлучили за кључ јер је апликација унапред инсталирана на неким уређајима. Ако имате копију кључа ван Google сервера, повећава се ризик ако локална копија икад буде угрожена. Имате следеће опције за коришћење другог кључа:
  4. Пратите преостала упутства да бисте припремили и увели издање.

Напомена: Треба да прихватите услове коришћења услуге и да омогућите потписивање апликација да бисте наставили.

3. корак: Региструјте кључ за потписивање апликација код добављача API-ја

Ако апликација користи неке API-је, обично треба да региструјете кључ за потписивање апликација за њих ради потврде идентитета помоћу дигиталног отиска сертификата. Ево где можете да пронађете сертификат:

  1. Отворите Play конзолу и идите на страницу Потписивање Play апликација (Издање > Подешавање > Потписивање апликација).
  2. Скролујте до одељка Сертификат кључа за потписивање апликација и копирајте дигиталне отиске (MD5, SHA-1 и SHA-256) сертификата за потписивање апликација.
    • Ако добављач API-ја тражи неки други тип дигиталног отиска, можете и да преузмете оригинални сертификат у формату .der и да га конвертујете помоћу алатки за трансформацију у складу са захтевима добављача API-ја.
Услови за кључеве за потписивање апликација

Кад користите кључ који генерише Google, Google аутоматски генерише криптографски јак RSA кључ од 4096 битова. Ако одлучите да отпремите сопствени кључ за потписивање апликација, то мора да буде RSA кључ од најмање 2048 битова.

Упутства за апликације направљене пре августа 2021.

1. корак: Конфигуришите потписивање Play апликација

  1. Отворите Play конзолу и идите на страницу Потписивање Play апликација (Издање > Подешавање > Потписивање апликација).
  2. Ако то нисте већ урадили, прегледајте услове коришћења услуге за потписивање Play апликација и изаберите Прихватам.

2. корак: Пошаљите копију оригиналног кључа Google-у и направите кључ за отпремање

  1. Пронађите оригинални кључ за потписивање апликација.
  2. Отворите Play конзолу и идите на страницу Потписивање Play апликација (Издање > Подешавање > Потписивање апликација).
  3. Изаберите опцију за извоз и отпремање која највише одговара вашем процесу објављивања и отпремите постојећи кључ за потписивање апликација.

3. корак: Направите кључ за отпремање (опционално и препоручено)

  1. Направите кључ за отпремање и отпремите сертификат на Google Play.
    • Можете и да наставите да користите кључ за потписивање апликација као кључ за отпремање.
  2. Копирајте дигиталне отиске (MD5, SHA-1 и SHA-256) сертификата за потписивање апликација.
    • У сврхе тестирања можда ћете морати да региструјете сертификат кључа за отпремање код добављача API-ја помоћу дигиталног отиска сертификата и кључа за потписивање апликација.

4. корак: Потпишите следеће ажурирање апликације помоћу кључа за отпремање

Када објавите ажурирања за апликацију, треба да их потпишете кључем за отпремање.

  • Ако нисте генерисали нови кључ за отпремање: Наставите да користите оригинални кључ за потписивање апликација да бисте потписивали скупове апликација пре него што их отпремите на Google Play. Ако изгубите оригинални кључ за потписивање апликација, можете да генеришете нови кључ за отпремање и региструјте га на Google-у да бисте наставили са ажурирањем апликације.
  • Ако сте генерисали нови кључ за отпремање: Користите нови кључ за отпремање да бисте потписивали скупове апликација пре него што их отпремите на Google Play. Google користи кључ за отпремање за потврду вашег идентитета. Ако изгубите кључ за отпремање, можете да се обратите подршци да бисте га ресетовали.
Надоградите кључ за потписивање апликација да бисте се регистровали за потписивање Play апликација

То можете да урадите ако не можете да делите постојећи кључ. Када одлучите да надоградите кључ за потписивање апликација да бисте се регистровали, имајте у виду следеће:

  • Ова опција захтева двоструко издање.
  • Морате да отпремите скуп апликација и APK потписан старом верзијом кључа у сваком издању. Google Play ће користити скупове апликација да би генерисао APK-ове потписане новим кључем за уређаје на Android-у R* (API ниво 30) или новијој верзији. Старе верзије APK-ова ће се користити за издања на старијим Android издањима (до API нивоа 29).

*Ако апликација користи SharedUserId, препоручујемо вам да примените надоградњу кључа за инсталирања и ажурирања на уређајима који користе Android T (ниво API-ја 33) или новије верзије. Да бисте ово конфигурисали, подесите прецизну минималну верзију пакета за развој софтвера у конфигурацији пакета.

1. корак: Отпремите нови кључ и генеришите и отпремите доказ о ротацији

Да би нови кључ био поуздан на Android уређајима, морате да отпремите нови кључ за потписивање из складишта и да генеришете и отпремите доказ о ротацији:

  1. Отворите Play конзолу и идите на страницу Потписивање Play апликација (Издање > Подешавање > Потписивање апликација).
  2. Изаберите картицу Потписивање апликација.
  3. Кликните на Прикажи напредне опције и изаберите Користи нови кључ за потписивање апликација (то захтева текућа двострука издања).
  4. Одаберите да користите исти кључ за потписивање апликација као и друга апликација на налогу програмера или да отпремите нови кључ за потписивање апликација из апликације Android Studio, Java KeyStore или другог складишта.
  5. После упутстава на екрану преузмите и покрените алатку PEPK.
  6. Када ZIP фајл буде спреман, кликните на Отпреми генерисани ZIP и отпремите га у Play конзолу.
  7. Поред „5. Дозволите да нови кључ буде поуздан на Android уређајима тако што ћете отпремити доказ о ротацији“ кликните на Прикажи упутства.
  8. Преузмите APKSigner и генеришите доказ о ротацији помоћу ове команде:
    • $ apksigner rotate --out /path/to/new/file --old-signer --ks old-signer-jks --set-rollback true --new-signer --ks new-signer-jks --set-rollback true
  9. Кликните на Отпреми фајл са генерисаним доказом о ротацији и отпремите доказ о ротацији генерисан у 8. кораку.
  10. Кликните на Сачувај.

Направите кључ за отпремање и ажурирајте складишта кључева

Да бисте побољшали безбедност, препоручујемо вам да апликацију потписујете помоћу новог кључа за отпремање уместо кључа за потписивање апликација.

Можете да направите кључ за отпремање када омогућите потписивање Play апликација или можете касније да направите кључ за отпремање када посетите страницу Потписивање Play апликација (Издање > Подешавање > Потписивање апликација).

Ево како можете да направите кључ за отпремање:

  1. Пратите упутства са сајта за Android програмере. Сачувајте кључ на безбедном месту.
  2. Извезите сертификат за кључ за отпремање у PEM формату. Замените следеће подвучене аргументе:
    • $ keytool -export -rfc -keystore upload-keystore.jks -alias upload -file upload_certificate.pem
  3. Када се то од вас затражи током процеса објављивања, отпремите сертификат да бисте га регистровали за Google.

Када користите кључ за отпремање:

  • Кључ за отпремање је регистрован само за Google да би потврдио идентитет аутора апликације.
  • Потпис се уклања из свих отпремљених APK-ова пре него што се пошаљу корисницима.
Услови за кључ за отпремање
  • Мора да буде RSA кључ од најмање 2048 битова.
Ажурирајте складишта кључева

Када направите кључ за отпремање, ево неких локација које можете да проверите и ажурирате:

  • Локални уређаји
  • Закључани локални сервер (различити ACL-ови)
  • Уређај у клауду (различити ACL-ови)
  • Наменске услуге за управљање тајним садржајем
  • (Git) складишта

Надоградите кључ за потписивање апликација

Овај одељак садржи упутства у вези са надоградњом кључа за потписивање апликација. Ако сте изгубили кључ за отпремање, не морате да захтевате надоградњу кључа. Уместо тога погледајте одељак Изгубили сте кључ за отпремање или је он угрожен? у дну ове странице.

У неким случајевима можете да затражите надоградњу кључа за потписивање апликација.

Ево неколико разлога да затражите надоградњу кључа за потписивање апликација:

  • Треба вам криптографски јачи кључ.
  • Кључ за потписивање апликација је угрожен.

Важно: Надоградње кључева су подржане само за апликације које користе скупове апликација.

Пре него што затражите надоградњу кључа у Play конзоли, прочитајте одељак Важне информације пре него што затражите надоградњу кључа у наставку. Затим можете да проширите друге одељке у наставку да бисте сазнали више о тражењу надоградње кључа.

Важне информације пре тражења надоградње кључа

Пре него што затражите надоградњу кључа, важно је да разумете промене које морате да обавите када се надоградња доврши.

  • Ако користите исти кључ за потписивање више апликација да бисте делили податке или кôд међу њима, треба да ажурирате апликације тако да препознају и нови и стари сертификат кључа за потписивање апликација.На уређајима који користе Android S (API ниво 32) или старије верзије Android платформа препознаје само стару верзију сертификата кључа за потписивање апликација у сврху дељења података или кода.
  • Ако апликација користи API-је, обавезно региструјте сертификате за нови и стари кључ за потписивање апликација код добављача API-ја пре него што објавите ажурирање да бисте били сигурни да ће API-ји и даље радити. Сертификати су доступни на страници Потписивање Play апликација (Издање > Подешавање > Потписивање апликација) у Play конзоли.  
  • Ако велики број корисника инсталира ажурирања путем међукорисничког дељења, моћи ће да инсталирају само ажурирања потписана кључем који има исту верзију као апликација коју су већ инсталирали. Ако не могу да ажурирају апликацију јер имају верзију апликације која је потписана другим кључем, имају опцију да деинсталирају и поново инсталирају апликацију да би добили ажурирање.
Затражите надоградњу кључа за сва инсталирања на Android-у N (API ниво 24) и новијим верзијама

Кључ за потписивање сваке апликације може да се надогради за сва инсталирања на Android-у N (API ниво 24) и новијим верзијама једном годишње.

Ако затражите ову надоградњу кључа, нови кључ се користи за потписивање свих инсталирања и ажурирања апликација. На уређајима који користе Android T (API ниво 33) или новије верзије Android платформа примењује коришћење надограђеног кључа. На уређајима који користе Android S (API ниво 32) или старије верзије Android платформа не примењује коришћење овог надограђеног кључа и још увек препознаје стару верзију кључа за потписивање као кључ за потписивање апликације. То обухвата и све функције Android платформе (на пример, дељење прилагођених дозвола) које се ослањају на кључ за потписивање апликација. На уређајима који користе верзије од Android-а N (API ниво 24) до Android-а S (API ниво 32) Google Play заштита ће проверити да ли су ажурирања апликација потписана надограђеним кључем ако их корисник није искључио. То пружа додатну проверу јер платформа Android не примењује коришћење надограђеног кључа на уређајима који користе Android S (API ниво 32) или старије верзије.

  1. Отворите Play конзолу и идите на страницу Потписивање Play апликација (Издање > Подешавање > Потписивање апликација).
  2. На картици Надоградите кључ за потписивање апликација изаберите Затражите надоградњу кључа.
  3. Изаберите опцију да надоградите кључ за потписивање апликација за сва инсталирања на Android-у N и новијим верзијама.
  4. Дозволите Google-у да вам генерише нови кључ за потписивање апликација (препоручено) или га отпремите.
    • Када надоградите кључ за потписивање апликација, ако сте користили исти кључ за потписивање апликација и кључ за отпремање, можете да наставите да користите стари кључ за потписивање апликација као кључ за отпремање или да генеришете нови кључ за отпремање.
  5. Изаберите разлог за захтевање надоградње кључа за потписивање апликација.
  6. По потреби региструјте нови кључ за потписивање апликација код добављача API-ја.

Савет: Ако дистрибуирате апликацију на више канала за дистрибуцију и желите да максимално повећате компатибилност са ажурирањем апликације за кориснике, треба да надоградите кључ на сваком каналу за дистрибуцију. Да бисте били компатибилни са Google Play надоградњом кључа, користите ApkSigner алатку у пакету са Android SDK алаткама за верзије (ревизија 33.0.1+):

$ apksigner sign --in ${INPUT_APK}

--out ${OUTPUT_APK}

--ks ${ORIGINAL_KEYSTORE}

--ks-key-alias ${ORIGINAL_KEY_ALIAS}

--next-signer --ks ${UPGRADED_KEYSTORE}

--ks-key-alias ${UPGRADED_KEY_ALIAS}

--lineage ${LINEAGE}

 Сазнајте више о томе како раде ажурирања апликација.

Најбоље праксе

  • Ако апликацију дистрибуирате и изван Google Play-а или планирате да то урадите касније, а желите да користите исти кључ за потписивање, имате две опције: 
    • Или дозволите Google-у да генерише кључ (препоручује се), па преузмите потписани, универзални APK из истраживача за скуп апликација да бисте дистрибуирали изван Google Play-а.
    • Или можете да генеришете кључ за потписивање апликација који желите да користите за све продавнице апликација, па да пренесете његову копију на Google кад конфигуришете потписивање Play апликација.
  • Да бисте заштитили налог, укључите верификацију у 2 корака за налоге са приступом Play конзоли.
  • Кад објавите скуп апликација као верзију за објављивање, можете да посетите истраживач за скуп апликација да бисте приступили APK-овима који могу да се инсталирају и које Google генерише из скупа апликација. Можете:
    • да копирате и поделите линк за интерно дељење апликација који вам омогућава да једним додиром тестирате шта Google Play инсталира из скупа апликација на различитим уређајима.
    • да преузмете потписан универзални APK. Тај један APK се потписује помоћу кључа за потписивање апликација који Google задржава и који може да се инсталира на било ком уређају који апликација подржава.
    • да преузмете ZIP архиву са свим APK-овима за одређени уређај. Ти APK-ови се потписују помоћу кључа за потписивање апликација који Google има. Можете и да инсталирате APK-ове из ZIP архиве на уређају помоћу команде adb install-multiple *.apk.
  • Да бисте побољшали безбедност, генеришите нови кључ за отпремање који се разликује од кључа за потписивање апликација.
  • Ако користите Google API, можда би требало да региструјете кључ за отпремање и сертификате за потписивање апликација у Google Cloud Console-у за апликацију.
  • Ако користите линкове за Android апликацију, обавезно ажурирајте кључеве у одговарајућем JSON фајлу који користи протокол линкова дигиталних елемената на веб-сајту.

Изгубили сте кључ за отпремање или је он угрожен?

Ако сте изгубили приватни кључ за отпремање или је он угрожен, можете да направите нови кључ. Власник налога програмера затим може да покрене ресетовање кључа у Play конзоли.

Када тим за подршку региструје нови кључ за отпремање, власник налога и глобални администратори ће примити поруку у пријемно сандуче и имејл са додатним информацијама. Затим можете да ажурирате складишта кључева и региструјете кључ код добављача API-ја.

Власник налога може и да откаже захтев за ресетовање у Play конзоли.

Важно: Ресетовање кључа за отпремање неће утицати на кључ за потписивање апликација који Google Play користи да би поново потписао APK-ове пре него што их испоручи корисницима.

Шема потписивања APK-а верзије 4

Android 11 и новији уређаји подржавају нову шему потписивања APK верзије 4. Потписивање Play апликација користи потписивање верзије 4 за апликације које испуњавају услове да би оне могле да приступају функцијама оптимизоване дистрибуције доступним на новијим уређајима. Програмер не мора ништа да ради и не очекује се утицај потписивања верзије 4 на кориснике.

Сродни садржај

Да ли вам је ово било корисно?

Како то можемо да побољшамо?

Треба вам додатна помоћ?

Пробајте следеће кораке:

true
Претрага
Обриши претрагу
Затвори претрагу
Главни мени
16939850314316163677
true
Центар за помоћ за претрагу
true
true
true
true
true
92637
false
false