Hogyan működik az iOS tanúsítványrendszere?
sobes.tech MI
Válasz az MI-től
A tanúsítványokat kriptográfiai aláírásra és alkalmazások, provisioning profilok és kapcsolatok ellenőrzésére használják. Kulcsfontosságú összetevők: Apple Root tanúsítvány, Közbenső tanúsítványok, Fejlesztői tanúsítványok, Disztribúciós tanúsítványok és Provisioning profilok.
Az Apple Root tanúsítvány az Apple megbízható gyökértanúsítványa.
A közbenső tanúsítványok összekötik a gyökértanúsítványt a végső fejlesztői/disztribúciós tanúsítványokkal.
A fejlesztői tanúsítvány azonosítja a fejlesztőt fejlesztési és hibakeresési célokra regisztrált eszközökön.
A disztribúciós tanúsítványt az alkalmazások aláírására használják, mielőtt azokat az App Store-on, vállalati programokon vagy Ad Hoc módon terjesztenék.
A provisioning profil összeköti az alkalmazás azonosítóját, a fejlesztői/disztribúciós tanúsítványokat és a regisztrált eszközöket (Ad Hoc és fejlesztés esetén). Meghatározza, hogy az alkalmazás milyen Apple szolgáltatásokat használhat (pl. Push értesítések, képességek).
Folyamat:
- Egy aláírási kérés (CSR) készül a fejlesztői gépen.
- A CSR-t feltöltik az Apple Developer portálra.
- Az Apple kiad egy fejlesztői vagy disztribúciós tanúsítványt.
- A tanúsítvány telepítve van a fejlesztői gép Keychain-jébe.
- Egy provisioning profil készül az Apple Developer portálon, amely összeköti az alkalmazás azonosítóját, a tanúsítványt és az eszközöket. A profilt szintén feltöltik és telepítik.
- Az alkalmazás aláírásra kerül a build során a tanúsítvány és a provisioning profil segítségével.
- Az alkalmazás telepítésekor vagy az App Store-ra való közzététel előtt az aláírást és a provisioning profilt az iOS rendszer ellenőrzi.
Ellenőrzés: Az iOS rendszer ellenőrzi a tanúsítvány bizalmi láncát, amely az alkalmazás tanúsítványától az Apple Root tanúsítványig tart, valamint a provisioning profil érvényességét. Ha valami hibás, az alkalmazás telepítése vagy futtatása blokkolva lesz.
Provisioning profil
.mobileprovision // fájl
tartalmazza:
- Alkalmazás azonosító
- Tanúsítványok (Fejlesztői/Disztribúciós)
- Eszköz UDID-k (Dev/Ad Hoc)
- Jogosultságok (Capabilities)
Tanúsítvány
.cer // fájl
Apple által aláírva
kapcsolódik a privát kulcshoz a Keychain-ben