Kuidas töötab sertifikaatide süsteem iOS-is?
sobes.tech AI
Vastus AI-lt
Sertifikaad kasutatakse krüptograafilise allkirja ja rakenduste, ettevalmistusprofiilide ning ühenduste kinnitamiseks. Põhikomponendid: Apple Root Certificate, vahesertifikaadid, arendaja sertifikaadid, levitamise sertifikaadid ja provisioning profiilid.
Apple Root Certificate — Apple'i juursertifikaadi keskus, usaldusväärne.
Vahesertifikaadid — vahesertifikaadid, mis ühendavad juursertifikaadi ja lõppsertifikaadid, mis on mõeldud arendajale või levitamiseks.
Arendaja sertifikaat — kinnitab arendaja identiteeti, võimaldades arendada ja siluda rakendusi registreeritud seadmetes.
Levitamise sertifikaat — kasutatakse rakenduste allkirjastamiseks enne nende levitamist App Store'i, Enterprise Programmide või Ad Hoc kaudu.
Provisioning Profile — ühendab rakenduse ID, arendaja/levitamise sertifikaadid ja registreeritud seadmed (Ad Hoc ja arenduse jaoks). Määrab, milliseid Apple teenuseid rakendus saab kasutada (näiteks Push Notifications, Capabilities).
Protsess:
- Arendaja arvutis luuakse sertifikaadi allkirjastamise päring (CSR).
- CSR laaditakse Apple Developer portaalile.
- Apple väljastab arendaja või levitamise sertifikaadi.
- Sertifikaat installitakse arendaja arvuti võtmehoidla (Keychain).
- Apple Developer portaalis luuakse Provisioning Profile, mis ühendab rakenduse ID, sertifikaadi ja seadmed. Profiil laaditakse samuti alla ja installitakse.
- Rakendus allkirjastatakse sertifikaadi ja Provisioning Profile abil ehitamise ajal.
- Seadmele installimisel või App Store'is avaldamisel kontrollib iOS süsteem allkirja ja Provisioning Profile.
Kontroll: iOS süsteem kontrollib sertifikaadi usaldusketti, mis algab rakenduse sertifikaadist ja lõpeb Apple Root Certificate'iga, ning sertifikaadi kehtivust Provisioning Profile'i alusel. Kui on vigu, blokeeritakse installimine või käivitamine.
provisioning profile
.mobileprovision // fail
sisaldab:
- Rakenduse ID
- Sertifikaadid (Arendaja/Levitatav)
- Seadme UDIDs (arenduseks/Ad Hoc)
- Õigused (capabilities)
certificate
.cer // fail
allkirjastatud Apple poolt
seotud privaatvõtmega Keychainis