Asosiy kontentga o‘tish
Innovialabs

Ilovalarni imzolash: iOS sertifikatlari, profillar, Android kalitlari

Asoslar3 daq

Qisqacha

Imzo yangilanishni aynan o‘sha egasi chiqarganini isbotlaydi; iOS’da buni Apple sertifikat va profillar orqali boshqaradi, Android’da asosiysi upload key’ni yo‘qotmaslik, barcha kalitlar esa pudratchida emas, kompaniya akkauntlarida turishi kerak.

Ilova nima uchun imzolanadi

Imzo — bu ilovani kim yig‘ganini va yig‘ilgandan keyin o‘zgartirilmaganini kriptografik isbotlash. Do‘kon va operatsion tizim uni har bir yuklash va o‘rnatishda tekshiradi.

Amalda bu uch narsani anglatadi:

  • yangilanish faqat oldingi versiya egasi tomonidan imzolangan bo‘lsa qabul qilinadi;
  • begona odam ilovangizning «yangilanishini» chiqara olmaydi;
  • servislarga kirish (push-bildirishnomalar, Google orqali kirish, xaritalar) ko‘pincha aniq imzoga bog‘langan.

Shuning uchun imzo kalitlari domen yoki bank hisobi kabi biznes aktivi hisoblanadi.

iOS’da qanday ishlaydi

Apple ekotizimida imzo bir nechta qismdan iborat va ular Apple Developer Program orqali beriladi:

ElementBu nimaNima uchun kerak
SertifikatMaxfiy kalit va Apple bergan sertifikat juftiYig‘ilmani jamoangiz a’zosi imzolaganini tasdiqlaydi
App ID / Bundle IDIlovaning noyob identifikatoriImzo, push va boshqa imkoniyatlarni aniq ilovaga bog‘laydi
Provisioning profileSertifikat, App ID va (test uchun) qurilmalar ro‘yxatini bog‘lovchi faylYig‘ilmani kerakli rejimda o‘rnatishga ruxsat beradi

Profillar turlicha bo‘ladi: ishlab chiqish uchun, cheklangan qurilmalar ro‘yxati uchun (ad hoc), App Store va TestFlight uchun. Sertifikat va profillarning amal qilish muddati bor — ularni yangilab turish kerak.

Muhim jihat: App Store’dagi ilovalarni Apple o‘zi qayta imzolaydi. Shuning uchun tarqatish sertifikati muddati tugasa yoki bekor qilinsa ham, chop etilgan ilova foydalanuvchilarda ishlashda davom etadi — siz keyingi yig‘ilmalar uchun yangi sertifikat yaratasiz xolos. Korporativ va ad hoc yig‘ilmalarda vaziyat boshqacha: profil muddati tugasa, xodimlarda ilova ishga tushmay qolishi mumkin.

Alohida ehtiyot qilinadigan narsa — push-bildirishnomalar kaliti (APNs, .p8 fayli): Apple uni faqat bir marta yuklab olishga ruxsat beradi.

Android’da qanday ishlaydi

Google Play’da bugun ikki kalitli Play App Signing sxemasi ishlatiladi:

  • App signing key — foydalanuvchilar oladigan ilovani imzolovchi asosiy kalit. Uni Google saqlaydi.
  • Upload key — jamoa yig‘ilmani (AAB) Play Console’ga yuklashdan oldin imzolaydigan kalit. U sizda turadi.

Upload key’ni JDK tarkibidagi standart keytool utilitasi bilan yaratish mumkin:

keytool -genkeypair -v -keystore upload-keystore.jks -keyalg RSA -keysize 2048 -validity 10000 -alias upload

Keystore fayli, uning paroli, alias va kalit paroli — birga saqlanishi shart bo‘lgan to‘rt narsa.

Kalit yo‘qolsa nima bo‘ladi

VaziyatOqibati
iOS sertifikati yo‘qoldiEskisini bekor qilasiz, yangisini chiqarasiz. Foydalanuvchilar hech narsani sezmaydi
Play App Signing bilan Android upload key yo‘qoldiAkkaunt egasi Play Console’da upload key’ni tiklashni so‘raydi. Noxush, lekin hal qilinadi
Play App Signing’siz Android kaliti yo‘qoldi (eski ilovalar)Ilovani yangilab bo‘lmaydi. Boshqa package name bilan yangi ilova chiqarib, auditoriyani qaytadan yig‘ishga to‘g‘ri keladi
Dasturchi akkauntiga kirish yo‘qoldiEng og‘ir holat: akkauntsiz hech qanday kalit yordam bermaydi

Kalitlar kimda bo‘lishi kerak

Qoida oddiy: hammasi ilova egasi bo‘lgan kompaniyaga tegishli, pudratchi esa faqat kirish huquqini oladi.

  • Apple Developer va Google Play Console akkauntlari kompaniya nomiga ro‘yxatdan o‘tkaziladi, pudratchi esa kerakli rol bilan jamoa a’zosi sifatida qo‘shiladi.
  • Keystore va parollar korporativ parol menejeri yoki maxfiy ma’lumotlar omborida saqlanadi, zaxira nusxasi esa alohida joyda turadi.
  • CI/CD’da kalitlar repozitoriyda emas, himoyalangan secret’lar orqali uzatiladi.
  • Pudratchi almashganda uning rollari olib qo‘yiladi, kalitlar esa sizda qoladi.

Ko‘p uchraydigan xatolar

  • Keystore Git’ga parollar bilan ochiq holda qo‘shib yuboriladi.
  • Kalitlar faqat bitta dasturchining noutbukida bor.
  • Do‘kondagi akkaunt frilanserning shaxsiy pochtasiga ochilgan.
  • Firebase, Google Maps yoki Google Sign-In’da app signing key o‘rniga upload key barmoq izi ko‘rsatiladi — natijada relizda kirish yoki xaritalar ishlamay qoladi. App signing key barmoq izi Play Console’da ko‘rsatilgan.

Ko‘p beriladigan savollar

Ha: keyingi yig‘ilmadan oldin yangi sertifikat yaratib, profillarni yangilash kerak. App Store’dagi ilova ishlashda davom etadi, ammo eski sertifikat bilan yangilanish chiqarib bo‘lmaydi.

Bunda yordam beramiz

O‘zingiz shug‘ullanmasdan natija olishni istasangiz — biz har kuni shu bilan shug‘ullanamiz.

Loyihani muhokama qilish

Yana o‘qing

G‘oya yoki vazifangiz bormi? Bizga aytib bering

Ish kuni davomida javob beramiz va yechim taklif qilamiz. Konsultatsiya bepul.