iOS-da sertifikatlar tizimi qanday ishlaydi?
sobes.tech AI
AIdan javob
Sertifikatlar, ilovalarni kriptografik imzolash va tekshirish uchun, tayyorlash profillari va ulanishlar uchun ishlatiladi. Asosiy komponentlar: Apple Root Sertifikati, Oraliq Sertifikatlar, Dasturchi Sertifikatlari, Tarqatish Sertifikatlari va Provisioning Profil.
Apple Root Sertifikati, Apple ning ishonchli ildiz sertifikatidir.
Oraliq Sertifikatlar, ildiz sertifikatini va yakuniy dasturchi/tarqatuvchi sertifikatlarini bog'laydi.
Dasturchi Sertifikati, ro'yxatdan o'tgan qurilmalarda rivojlantirish va xatolarni tuzatish uchun dasturchini aniqlaydi.
Tarqatish Sertifikati, ilovalarni App Store, Korporativ Dasturlar yoki Ad Hoc orqali tarqatishdan oldin imzolash uchun ishlatiladi.
Provisioning Profile, ilova ID, dasturchi/tarqatuvchi sertifikatlari va ro'yxatdan o'tgan qurilmalarni bog'laydi (Ad Hoc va rivojlantirish uchun). Bu ilova qaysi Apple xizmatlaridan foydalanishi mumkinligini belgilaydi (masalan, Push Notifications, Capabilities).
Jarayon:
- Dasturchi kompyuterida sertifikat imzolash so'rovi (CSR) yaratiladi.
- CSR Apple Developer portaliga yuklanadi.
- Apple dasturchi yoki tarqatish sertifikatini chiqaradi.
- Sertifikat Dasturchining kompyuteridagi Kalitlar omboriga (Keychain) o'rnatiladi.
- Apple Developer portalida, ilova ID, sertifikat va qurilmalarni bog'laydigan Provisioning Profile yaratiladi. Profil ham yuklanadi va o'rnatiladi.
- Ilova, qurilish davomida sertifikat va Provisioning Profile yordamida imzolangan.
- Qurilma yoki App Storega joylashtirishdan oldin, imzo va Provisioning Profile iOS tizimi tomonidan tekshiriladi.
Tekshirish: iOS tizimi, ilova sertifikatidan Apple Root Sertifikatiga qadar bo'lgan ishonch zanjirini va Provisioning Profile ning haqiqiyligini tekshiradi. Agar noto'g'ri bo'lsa, ilovani o'rnatish yoki ishga tushirish bloklanadi.
Provisioning Profile
.mobileprovision // fayl
ichida:
- Ilova ID
- Sertifikatlar (Dasturchi/Tarqatish)
- Qurilma UDIDlari (Dev/Ad Hoc uchun)
- Huquqlar (Capabilities)
Sertifikat
.cer // fayl
Apple tomonidan imzolangan
Maxfiy kalit bilan bog'langan Keychain ichida