iOS'ta sertifika sistemleri nasıl çalışır?
sobes.tech yapay zeka
AI'dan gelen yanıt
Sertifikalar, uygulamaların kriptografik imzalanması ve doğrulanması, hazırlık profilleri ve bağlantılar için kullanılır. Ana bileşenler: Apple Root Sertifikası, Ara Sertifikalar, Geliştirici Sertifikaları, Dağıtım Sertifikaları ve Provisioning Profilleri.
Apple Root Sertifikası, Apple'ın güvenilir kök sertifikasıdır.
Ara Sertifikalar, kök sertifikayı ve son geliştirici/dağıtıcı sertifikalarını birbirine bağlar.
Geliştirici Sertifikası, kayıtlı cihazlarda geliştirme ve hata ayıklama amaçlarıyla geliştiriciyi tanımlar.
Dağıtım Sertifikası, uygulamaları App Store, Kurumsal Programlar veya Ad Hoc aracılığıyla dağıtmadan önce imzalamak için kullanılır.
Provisioning Profile, uygulama kimliği, geliştirici/dağıtıcı sertifikaları ve kayıtlı cihazları bağlar (Ad Hoc ve geliştirme için). Uygulamanın kullanabileceği Apple hizmetlerini belirler (örneğin, Push Bildirimleri, Özellikler).
İşlem:
- Geliştirici makinesinde bir sertifika imzalama isteği (CSR) oluşturulur.
- CSR, Apple Developer portalına yüklenir.
- Apple, bir geliştirici veya dağıtım sertifikası çıkarır.
- Sertifika, geliştiricinin makinesindeki Anahtar Zinciri'ne (Keychain) yüklenir.
- Apple Developer portalında, uygulama kimliği, sertifika ve cihazları bağlayan bir Provisioning Profile oluşturulur. Profil de yüklenir ve kurulur.
- Uygulama, derleme sırasında sertifika ve Provisioning Profile kullanılarak imzalanır.
- Cihaza yükleme sırasında veya App Store'da yayınlamadan önce, imza ve Provisioning Profile iOS sistemi tarafından doğrulanır.
Doğrulama: iOS sistemi, uygulama sertifikasından Apple Root Sertifikasına kadar olan güven zincirini ve Provisioning Profile'ın geçerliliğini kontrol eder. Bir şey yanlışsa, uygulama yükleme veya çalıştırma engellenir.
Provisioning Profile
.mobileprovision // dosya
içerir:
- Uygulama Kimliği
- Sertifikalar (Geliştirici/Dağıtıcı)
- Cihaz UDID'leri (Geliştirici ve Ad Hoc için)
- Yetkilendirmeler (Capabilities)
Sertifika
.cer // dosya
Apple tarafından imzalanmış
Keychain'deki özel anahtarla bağlantılı