Apple Certificate, iOS, iPadOS, macOS, tvOS və watchOS üçün tətbiq kodlarını imzalamaq məqsədilə Apple Developer Portal tərəfindən verilmiş rəqəmsal sənəddir. Apple Developer Support, 2026 məlumatına görə, sertifikatlar açıq açarlar infrastrukturunun (PKI) bir hissəsidir və tərtibatçı şəxsiyyətinin təsdiqlənməsi üçün zəruridir. Məqalədə sertifikat növlərini, onların yaradılması və idarə edilməsi prosesini nəzərdən keçirəcəyik.
Əsas məqamlar
Apple Certificate — Apple sertifikat mərkəzi (Apple Certificate Authority) tərəfindən verilmiş X.509 formatında kriptoqrafik sertifikat. O, sahibinin Apple Developer Program-ın qeydiyyatdan keçmiş üzvü olduğunu və Apple ekosistemi üçün tətbiqləri imzalamaq hüququna malik olduğunu təsdiqləyir. Sertifikat açıq açardan, sahibin metadata məlumatlarından və Apple CA-nın rəqəmsal imzasından ibarətdir — hər kəs əməliyyat sisteminə quraşdırılmış Apple kök sertifikatından istifadə edərək sertifikatın həqiqiliyini yoxlaya bilər.
Apple PKI arxitekturası üç səviyyəni əhatə edir: Apple kök sertifikatı (Apple Root CA), aralıq sertifikat (Apple Worldwide Developer Relations CA) və tərtibatçı sertifikatı. Apple Worldwide Developer Relations CA bütün tərtibatçı sertifikatlarını imzalayır — əgər bu aralıq sertifikat etibar zəncirində yoxdursa, kod imzası etibarsız sayılır. Apple kök sertifikatları iOS və macOS-a quraşdırılmış Apple Trust Store mexanizmi vasitəsilə avtomatik yenilənir.
Hər bir sertifikatın müddəti — növündən asılı olaraq bir ildən üç ilə qədərdir. Apple Developer Program sertifikatın müddəti bitməsinə 30 gün qalmış tərtibatçını e-poçt və push bildirişləri vasitəsilə avtomatik xəbərdar edir. Müddəti bitdikdən sonra köhnə sertifikat yeni bildləri imzalamaq üçün istifadə edilə bilməz — yenisini buraxmaq lazımdır, lakin müddəti bitmiş sertifikatla imzalanmış tətbiqlər istifadəçi cihazlarında işləməyə davam edir.
Etibar zənciri tərtibatçı sertifikatının həqiqətən Apple tərəfindən verildiyini təmin edir. iOS yoxlayır: Apple Root CA kök sertifikatı (proqram təminatına quraşdırılmış), Apple Worldwide Developer Relations CA aralıq sertifikatı, tərtibatçı sertifikatı. Əgər zəncirin hər hansı bir elementi yoxdursa və ya etibarsızdırsa, iOS tətbiqin işə salınmasını code signing xətası ilə bloklayır. macOS açar qrupunda istənilən sertifikatın etibar zəncirini yoxlamaq üçün security yardımçı proqramını təqdim edir.
Apple Certificate istifadə edərək kod imzalama prosesi asimmetrik kriptoqrafiyaya əsaslanır. Gizli açar (private key) tərtibatçının kompüterində Keychain-də saxlanılır, açıq açar (public key) isə sertifikata daxil edilir və Apple Developer Portal-a göndərilir. Xcode tətbiqi imzalayarkən ikili faylın xəşini (hash) yaradır və onu gizli açarla şifrləyir — bu rəqəmsal imzadır. Cihaz imzanı sertifikatdakı açıq açarla deşifrə edir və hesablanmış xəşlə müqayisə edir.
Apple 2021-ci ildən sonra buraxılmış bütün sertifikatlar üçün ECDSA (Elliptic Curve Digital Signature Algorithm) alqoritmini P-256 əyrisi ilə istifadə edir. Əvvəllər RSA-2048 istifadə olunurdu. ECDSA-ya keçid cihazlarda imza yoxlamasının sürətini artırdı və imza ölçüsünü azaltdı — mobil tətbiqlər üçün bu xüsusilə vacibdir, çünki imza yoxlaması hər işə salınma zamanı aparılır. Apple Security Engineering (2025) məlumatına görə, ECDSA P-256 əhəmiyyətli dərəcədə az hesablama xərcləri ilə RSA-2048-ə ekvivalent təhlükəsizlik səviyyəsini təmin edir.
CI/CD prosesləri üçün sertifikat gizli açarla birlikdə PKCS12 (.p12) formatına ixrac edilməli və qorunan anbarda saxlanmalıdır. GitHub Actions, Bitrise, Jenkins və digər CI sistemləri sertifikatların ətraf dəyişənləri və ya sirlər vasitəsilə idxalını dəstəkləyir. CI agentinə idxaldan sonra sertifikat müvəqqəti olaraq açar qrupuna əlavə edilir, imzalama üçün istifadə edilir və silinir. Fastlane Match bu prosesi avtomatlaşdırır, sertifikatları tərtibatçılar arasında şifrələnmiş git depozitoriyası vasitəsilə sinxronlaşdırır.
Development sertifikatı tətbiqləri tərtibatçının fiziki cihazlarında işə salmaq üçün imzalamağa imkan verir. Onu əldə etmək üçün pulsuz Apple ID hesabı kifayətdir — Xcode Development sertifikatını avtomatik yarada bilər. Distribution sertifikatı yalnız ödənişli Apple Developer Program hesabları ($99/il) üçün buraxılır və App Store-a tətbiq göndərmək, Ad Hoc yayımlama və ya Enterprise paylanması üçün tələb olunur. Bir hesabda bir neçə Distribution sertifikatı ola bilər — məsələn, hər tətbiq və ya müxtəlif komandalar üçün ayrıca.
Apple Developer Portal hər biri müəyyən tapşırıq üçün nəzərdə tutulmuş bir neçə növ sertifikat təqdim edir. iOS App Development — inkişaf mərhələsində tətbiqləri imzalamaq üçün əsas sertifikat. Apple Distribution — App Store-da nəşr üçün əsas sertifikat. Mac Development və Mac Distribution — macOS tətbiqləri üçün analoqlar. Hər sertifikat növü üçün Apple Developer Portal-da ayrıca sorğu (CSR) mövcuddur.
Ayrıca kateqoriyanı push bildirişləri üçün sertifikatlar təşkil edir. Apple Push Notification service (APNs) ya ayrıca SSL sertifikatı, ya da autentifikasiya tokenlərindən (APNs Auth Key) istifadə tələb edir. APNs SSL sertifikatları Development (Sandbox) və Production mühitləri üçün ayrıca buraxılır və müəyyən App ID-yə bağlanır. APNs Auth Key — daha müasir yanaşma: bir açar (.p8) hesabın bütün tətbiqlərinə xidmət edir, bu da idarəetməni sadələşdirir.
| Sertifikat növü | Təyinat | Müddəti |
|---|---|---|
| iOS App Development | Cihazlarda sınaq üçün imza | 1 il |
| Apple Distribution | App Store-da nəşr və Ad Hoc | 1 il |
| Mac Development | İnkişaf üçün macOS tətbiqlərinin imzası | 1 il |
| Mac Distribution | Mac App Store-da nəşr | 1 il |
| APNs SSL (Sandbox) | Sınaq mühitində push bildirişləri | 1-3 il |
| APNs SSL (Production) | Prodakşn mühitində push bildirişləri | 1-3 il |
Apple Certificate-in yaradılması macOS-da Keychain Access vasitəsilə sertifikat imzalama sorğusunun (Certificate Signing Request, CSR) generasiyası ilə başlayır. Keychain Access açar cütü yaradır: gizli açar qrupda qalır, CSR isə Apple Developer Portal-a göndərilir. Şəxsiyyət təsdiqləndikdən sonra Apple CSR-ni imzalayır və hazır sertifikatı (.cer) verir, onu endirib iki dəfə klikləməklə quraşdırmaq lazımdır.
Bir neçə layihə və komandanı idarə etmək üçün Apple müxtəlif Team ID-lər üçün sertifikatlar yaratmağa imkan verir. Bir tərtibatçı bir neçə komandanın üzvü ola bilər (Apple Developer Program — App Store Connect vasitəsilə) və hər komanda üçün ayrıca sertifikatlar buraxılır. Xcode Signing & Capabilities parametrlərində seçilmiş komandadan asılı olaraq sertifikatları avtomatik dəyişir.
Sertifikatın ləğvi (revokasiya) kritik əməliyyatdır: bu sertifikatla imzalanmış bütün tətbiqlər yeni cihazlarda quraşdırılmağı dayandırır (artıq quraşdırılmışlar işləməyə davam edir). Apple Developer Portal Certificates bölməsində istənilən sertifikatı ləğv etməyə imkan verir. Ləğv səbəbləri: gizli açarın kompromitasiyası, tərtibatçının komandadan ayrılması, Apple Developer Program şərtlərinin pozulması. Ləğvdən sonra yeni sertifikat buraxmaq və bütün aktiv bildləri yenidən imzalamaq lazımdır.
Keychain (açar qrupu) — sertifikatlar, gizli açarlar və şifrələr üçün macOS sistem anbarı. Bütün Apple sertifikatları və müvafiq gizli açarlar istifadəçinin giriş açar qrupunda (login.keychain) saxlanılır. Xcode kod imzalama zamanı Keychain-ə müraciət edir, qurma növünə görə uyğun sertifikatı avtomatik seçir. İmza problemlərinin diaqnostikası üçün quraşdırılmış Keychain Access yardımçı proqramından (folder /Applications/Utilities) istifadə etmək rahatdır.
CI/CD üçün sertifikatın ixracı Keychain Access vasitəsilə aparılır: sertifikatı və müvafiq gizli açarı seçin (onlar bir sətirdə genişlənməlidir), sağ düymə ilə vurun və Export seçin. Format — PKCS12 (.p12). İxrac zamanı Keychain faylın qorunması üçün şifrə tələb edəcək — bu şifrə CI serverində idxal zamanı lazım olacaq. Gizli açar olmadan ixrac edilmiş sertifikat imzalama üçün faydasızdır — o yalnız artıq imzalanmış kodu yoxlamaq üçün istifadə edilə bilər.
security yardımçı proqramından istifadə edərək CI agentinin açar qrupuna sertifikat idxalı üçün nümunə əmr:
# Müvəqqəti açar qrupunun yaradılması
security create-keychain -p "temp" build.keychain
security default-keychain -s build.keychain
security unlock-keychain -p "temp" build.keychain
# Sertifikatın .p12-dən idxalı
security import certificate.p12 -k build.keychain \
-P "${P12_PASSWORD}" -T /usr/bin/codesign
# İmzalama siyasətinin konfiqurasiyası
security set-key-partition-list -S apple: -s \
-k "temp" build.keychain
Security create-keychain istifadəçidən təcrid olunmuş müvəqqəti açar qrupu yaradır. Bu CI üçün vacibdir ki, agentin sistem açar qrupunu çirkləndirməsin. -T /usr/bin/codesign bayrağı codesign yardımçı proqramına şifrə sorğusu olmadan açarlara girişə icazə verir — əks halda pipeline-da avtomatik imzalama dialoq pəncərəsi ilə kəsiləcək. set-key-partition-list əmri macOS-un avtomatik rejimdə kod imzalama tələbləri ilə uyğunluq üçün zəruridir.
Ən çox yayılmış səhv — Xcode-da qurma zamanı “No signing certificate found” xətası. Keychain-də seçilmiş qurma növünə uyğun gizli açarlı sertifikat olmadıqda baş verir. Həlli: Keychain Access-də sertifikatın varlığını yoxlayın, onu Apple Developer Portal-dan endirin və quraşdırın. Əgər gizli açar itirilibsə (köhnə kompüter, sistemin yenidən qurulması), köhnə sertifikatı ləğv edib yenisini buraxmaq lazımdır.
CI/CD-də “Valid signing certificate not found” xətası agentdə Apple aralıq sertifikatları (Apple Worldwide Developer Relations CA) quraşdırılmadıqda baş verir. Apple tərtibatçı sertifikatını endirərkən aralıq sertifikatları zəncirə daxil edir, lakin .p12-nin əl ilə ixracı zamanı onlar olmaya bilər. Həlli — Apple Certificate Authority saytından aralıq sertifikatları endirin və CI agentinin açar qrupunda quraşdırın.
Müddəti bitmiş sertifikat problemi imzalama zamanı “This certificate has an invalid issuer” xətası ilə özünü göstərir. Apple Developer Portal hər bir sertifikatın statusunu və bitmə tarixini göstərir. Əgər tətbiq artıq App Store-da müddəti bitmiş sertifikatla nəşr edilibsə, o işləməyə davam edir — App Store paylanma üçün öz Apple sertifikatından istifadə edir. Lakin yeni bild göndərmək üçün etibarlı Distribution sertifikatı tələb olunur. Fastlane sertifikatların avtomatik yaradılması və yenilənməsi üçün cert əmrini ehtiva edir.
Tez-tez verilən suallar
Xeyr, iOS və macOS üçün müxtəlif növ sertifikatlar buraxılır — iOS App Development və Mac Development. Apple Distribution sertifikatı da platformalara görə bölünür. Apple Developer Portal-da sertifikat yaradarkən hədəf platformanı göstərmək lazımdır — bütün platformalar üçün universal sertifikat mövcud deyil.
Köhnə sertifikatı Apple Developer Portal-da Certificates, Identifiers & Profiles vasitəsilə ləğv etmək lazımdır. Sonra Keychain Access vasitəsilə yeni CSR yaradın və yeni sertifikat buraxın. Bütün köhnə sertifikatla imzalanmış tətbiqlər yeniləmə buraxmaq lazımdırsa, yenidən imzalanma və App Store-a təkrar yüklənmə tələb edəcək.
Bir Apple Developer Program hesabı üçün eyni anda iki Distribution sertifikatı və qeyri-məhdud sayda Development sertifikatına icazə verilir. Enterprise hesablarının ayrıca limitləri var. Əgər Distribution sertifikatlarının limiti çatıbsa, yenisini yaratmazdan əvvəl mövcud olanlardan birini ləğv etmək lazımdır.
security yardımçı proqramından istifadə edin: security find-identity -v -p basic açar qrupundakı bütün sertifikatları bitmə tarixləri ilə sadalayacaq. Müəyyən sertifikat üçün onun SHA-1 xəşini göstərin: security find-certificate -c “Developer” -p | openssl x509 -noout -enddate.
Bəli, sertifikatlar müəyyən Apple Developer hesabına (Team ID) bağlıdır. Hesab dəyişdirilərkən köhnə sertifikatlar yeni Team ID üçün etibarsız olur. Xcode hesab dəyişdirilərkən Accounts Preferences-də avtomatik olaraq yeni komanda üçün yeni sertifikatların yaradılmasını tələb edir.
Xülasə
Açar təslim mobil tətbiq hazırlayacağıq
IT Sectr 2017-ci ildən startaplar və bizneslər üçün iOS və Android tətbiqləri yaradır. Sizə məsləhət verəcəyik və ən yaxşı həlli təklif edəcəyik.
Həm də oxuyun