Sobes.tech
Middle+

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:

  1. Sukuriamas sertifikato pasirašymo užklausa (CSR) kūrėjo kompiuteryje.
  2. CSR įkeliama į Apple Developer portalą.
  3. Apple išleidžia kūrėjo arba platinimo sertifikatą.
  4. Sertifikatas įdiegiama į kūrėjo kompiuterio raktų saugyklą (Keychain).
  5. Apple Developer portale sukuriamas Provisioning Profile, jungiantis programėlės ID, sertifikatą ir įrenginius. Profilis taip pat įkeliama ir įdiegiama.
  6. Programėlė pasirašoma naudojant sertifikatą ir Provisioning Profile kūrimo metu.
  7. 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