Kaip veikia sertifikatų sistema iOS?
sobes.tech AI
Atsakymas iš AI
Sertifikatai naudojami kriptografinio parašo ir programėlių, parengimo profilių bei ryšių patvirtinimui. Pagrindiniai komponentai: Apple Root Certificate, tarpiniai sertifikatai, kūrėjo sertifikatai, platinimo sertifikatai ir provisioning profiliai.
Apple Root Certificate — Apple pagrindinis sertifikatų centras, patikimas.
Tarpiniai sertifikatai — tarpiniai sertifikatai, jungiantys pagrindinį sertifikatą ir galutinius sertifikatus, naudojamus kūrėjui ar platinimui.
Kūrėjo sertifikatas — patvirtina kūrėją, siekiant kurti ir derinti programėles registruotuose įrenginiuose.
Platinimo sertifikatas — naudojamas programėlių pasirašymui prieš jas platinant per App Store, Enterprise Programs ar Ad Hoc.
Provisioning Profile — jungia programėlės ID, kūrėjo/platinimo sertifikatus ir registruotus įrenginius (Ad Hoc ir kūrimo tikslais). Nustato, kurioms Apple paslaugoms programėlė gali naudotis (pvz., Push Notifications, Capabilities).
Procesas:
- Sukuriamas sertifikato pasirašymo užklausa (CSR) kūrėjo kompiuteryje.
- CSR įkeliama į Apple Developer portalą.
- Apple išleidžia kūrėjo arba platinimo sertifikatą.
- Sertifikatas įdiegiama į kūrėjo kompiuterio raktų saugyklą (Keychain).
- Apple Developer portale sukuriamas Provisioning Profile, jungiantis programėlės ID, sertifikatą ir įrenginius. Profilis taip pat įkeliama ir įdiegiama.
- Programėlė pasirašoma naudojant sertifikatą ir Provisioning Profile kūrimo metu.
- Diegiant į įrenginį arba prieš paskelbiant App Store, sistema iOS patikrina pasirašymą ir Provisioning Profile.
Patikra: iOS sistema tikrina sertifikato pasitikėjimo grandinę, pradedant nuo programėlės sertifikato iki Apple Root Certificate, ir sertifikato galiojimą pagal Provisioning Profile. Jei yra klaidų, diegimas ar paleidimas yra blokuojami.
provisioning profile
.mobileprovision // failas
apima:
- Programėlės ID
- Sertifikatus (Kūrėjas/Platinimas)
- Įrenginių UDIDs (kūrėjui/Ad Hoc)
- Teises (capabilities)
certificate
.cer // failas
pasirašytas Apple
susietas su privačiu raktu Keychain