როგორ მუშაობს სერტიფიკატების სისტემა iOS-ში?
sobes.tech AI
პასუხი AI-სგან
სერტიფიკატები გამოიყენება კრიპტოგრაფიული ხელმოწერისა და აპლიკაციების, მომზადების პროფილების და კავშირების ვალიდაციისთვის. ძირითადი კომპონენტები: Apple Root Certificate, შუამავალი სერტიფიკატები, დეველოპერის სერტიფიკატები, დისტრიბუციის სერტიფიკატები და Provisioning Profiles.
Apple Root Certificate — Apple-ის ძირითადი სერტიფიკატების ცენტრი, რომელიც სანდოა.
შუამავალი სერტიფიკატები — შუამავალი სერტიფიკატები, რომლებიც აკავშირებს ძირითადი სერტიფიკატს და საბოლოო სერტიფიკატებს, რომლებიც გამოიყენება დეველოპერის ან დისტრიბუციისთვის.
დეველოპერის სერტიფიკატი — ადასტურებს დეველოპერს, რათა ის შეძლოს განვითარება და დებაგი რეგისტრირებულ მოწყობილობებზე.
დისტრიბუციის სერტიფიკატი — გამოიყენება აპლიკაციების ხელმოწერისთვის, სანამ ისინი გავრცელდება App Store, Enterprise Programs ან Ad Hoc-ის მეშვეობით.
Provisioning Profile — აკავშირებს აპლიკაციის ID-ს, დეველოპერის/დისტრიბუციის სერტიფიკატებს და რეგისტრირებულ მოწყობილობებს (Ad Hoc და განვითარებისთვის). განსაზღვრავს, რომელი სერვისები შეუძლია გამოიყენოს აპლიკაციას (მაგალითად, Push Notifications, Capabilities).
პროცესი:
- შექმნილია სერტიფიკატის ხელმოწერის მოთხოვნა (CSR) დეველოპერის მანქანაზე.
- CSR იტვირთება Apple Developer პორტალზე.
- Apple გამოუშვებს დეველოპერის ან დისტრიბუციის სერტიფიკატს.
- სერტიფიკატი ინსტალირდება დეველოპერის მანქანაზე Keychain-ში.
- Apple Developer პორტალზე შექმნილია Provisioning Profile, რომელიც აკავშირებს აპლიკაციის ID-ს, სერტიფიკატს და მოწყობილობებს. პროფილი ასევე იტვირთება და ინსტალირდება.
- აპლიკაცია ხელმოწერილია სერტიფიკატით და Provisioning Profile-ით მშენებლობის დროს.
- მოწყობილობაზე ინსტალაციის ან გამოქვეყნების წინ, iOS სისტემა ამოწმებს ხელმოწერას და Provisioning Profile-ს.
შესამოწმებლად: iOS სისტემა ამოწმებს სერტიფიკატის სანდოობის ჯაჭვს, რომელიც იწყება აპლიკაციის სერტიფიკატიდან და მიდის Apple Root Certificate-მდე, ასევე ვალიდურობას, რომელიც განსაზღვრულია Provisioning Profile-ით. თუ რაიმე შეცდომაა, ინსტალაცია ან გაშვება ბლოკდება.
provisioning profile
.mobileprovision // ფაილი
შეიცავს:
- აპლიკაციის ID
- სერტიფიკატები (დეველოპერი/დისტრიბუცია)
- მოწყობილობის UDIDs (დეველოპერი/Ad Hoc)
- უფლებები (capabilities)
certificate
.cer // ფაილი
ხელმოწერილია Apple-ით
დაკავშირებულია პირადი გასაღებით Keychain-ში