Sobes.tech
Middle+

Cum funcționează sistemul de certificate în iOS?

sobes.tech AI

Răspuns de la AI

Certificatele sunt utilizate pentru semnătura criptografică și verificarea aplicațiilor, profilurilor de provisioning și conexiunilor. Componente cheie: Certificatul rădăcină Apple, Certificate intermediare, Certificate de dezvoltator, Certificate de distribuție și Profiluri de provisioning.

Certificatul rădăcină Apple este centrul de certificare de încredere al Apple.

Certificatele intermediare leagă certificatul rădăcină de certificatele finale ale dezvoltatorului/distribuitorului.

Certificatul de dezvoltator identifică dezvoltatorul pentru scopuri de dezvoltare și depanare pe dispozitive înregistrate.

Certificatul de distribuție este folosit pentru a semna aplicațiile înainte de a fi distribuite prin App Store, Programe Enterprise sau Ad Hoc.

Profilul de provisioning leagă ID-ul aplicației, certificatele de dezvoltator/distribuție și dispozitivele înregistrate (pentru Ad Hoc și dezvoltare). Definește serviciile Apple pe care le poate utiliza aplicația (de exemplu, Notificări Push, Capabilities).

Proces:

  1. Se creează o cerere de semnare a certificatului (CSR) pe calculatorul dezvoltatorului.
  2. CSR-ul este încărcat pe portalul Apple Developer.
  3. Apple emite un certificat de dezvoltator sau de distribuție.
  4. Certificatul este instalat în magazinul de chei (Keychain) pe calculatorul dezvoltatorului.
  5. Se creează un profil de provisioning pe portalul Apple Developer, care leagă ID-ul aplicației, certificatul și dispozitivele. Profilul este, de asemenea, încărcat și instalat.
  6. Aplicația este semnată folosind certificatul și profilul de provisioning în timpul compilării.
  7. La instalarea pe un dispozitiv sau înainte de publicarea în App Store, semnătura și profilul de provisioning sunt verificate de sistemul iOS.

Verificare: Sistemul iOS verifică lanțul de încredere al certificatului, care pornește de la certificatul aplicației până la Certificatul rădăcină Apple, și validitatea profilului de provisioning. Dacă ceva este incorect, instalarea sau rularea aplicației este blocată.

Profil de provisioning
  .mobileprovision // fișier
  include:
    - ID-ul aplicației
    - Certificate (Dezvoltator/Distribuție)
    - UDID-urile dispozitivelor (pentru Dev/Ad Hoc)
    - Entitlements (capabilități)

Certificat
  .cer // fișier
  semnat de Apple
  legat de cheia privată din Keychain