Sobes.tech
Middle+

Ինչպես է աշխատում iOS-ի սերտիֆիկատների համակարգը?

sobes.tech AI

Պատասխան AI-ից

Սերտիֆիկատները օգտագործվում են կրիպտոգրաֆիկ ստորագրության և հավելվածների, պատրաստման պրոֆիլների և կապերի վավերացման համար: Բանալի բաղադրիչներ՝ Apple Root Certificate, միջնորդական սերտիֆիկատներ, ծրագրավորողի սերտիֆիկատներ, տարածման սերտիֆիկատներ և provisioning պրոֆիլներ:

Apple Root Certificate — Apple-ի հիմնական սերտիֆիկատային կենտրոնը, որը հուսալի է:

Միջնորդական սերտիֆիկատներ — միջնորդական սերտիֆիկատներ, որոնք կապում են հիմնական սերտիֆիկատը և վերջնական սերտիֆիկատները՝ ծրագրավորողի կամ տարածման համար:

Ծրագրավորողի սերտիֆիկատ — հաստատում է ծրագրավորողին՝ զարգացման և դեբագի նպատակներով գրանցված սարքերում:

Տարածման սերտիֆիկատ — օգտագործվում է հավելվածների ստորագրության համար՝ նախքան դրանք տարածելը App Store, Enterprise Programs կամ Ad Hoc:

Provisioning Profile — կապում է հավելվածի ID-ն, ծրագրավորողի/տարածման սերտիֆիկատները և գրանցված սարքերը (հատկապես Ad Hoc և զարգացման համար): Հստակեցնում է, թե որ ծառայությունները կարող է օգտագործել հավելվածը՝ օրինակ, Push Notifications, Capabilities:

Պրոցես:

  1. Ստեղծվում է ստորագրության հարցում (CSR) ծրագրավորողի մեքենայում:
  2. CSR-ն բեռնվում է Apple Developer պորտալ:
  3. Apple-ն թողարկում է ծրագրավորողի կամ տարածման սերտիֆիկատ:
  4. Սերտիֆիկատը տեղադրվում է ծրագրավորողի մեքենայի բանալի պահոցում (Keychain):
  5. Apple Developer պորտալում ստեղծվում է Provisioning Profile, որը կապում է հավելվածի ID-ն, սերտիֆիկատը և սարքերը: Պրոֆիլը նույնպես բեռնվում և տեղադրվում է:
  6. Հավելվածը ստորագրվում է սերտիֆիկատով և Provisioning Profile-ով՝ կառուցման ժամանակ:
  7. Տեղադրման կամ հրապարակման նախքան iOS համակարգը ստուգում է ստորագրությունը և Provisioning Profile-ը:

Ստուգում: iOS համակարգը ստուգում է վստահության շղթան, որը սկսվում է հավելվածի սերտիֆիկատից և հասնում Apple Root Certificate-ին, ինչպես նաև վավերականությունը՝ ըստ Provisioning Profile-ի: Եթե ինչ-որ սխալ կա, տեղադրումը կամ գործարկումը արգելվում է:

provisioning profile
  .mobileprovision // ֆայլ
  ներառում է՝
    - App ID
    - Certificates (Developer/Distribution)
    - Device UDIDs (for Dev/Ad Hoc)
    - Entitlements (capabilities)

certificate
  .cer // ֆայլ
  ստորագրված է Apple-ի կողմից
  կապակցված է մասնավոր բանալիին Keychain-ում