Az Apple Certificate egy digitális dokumentum, amelyet az Apple Developer Portal bocsát ki iOS, iPadOS, macOS, tvOS és watchOS alkalmazások kódjának aláírásához. A Apple Developer Support, 2026 szerint a tanúsítványok a nyilvános kulcsú infrastruktúra (PKI) részét képezik, és szükségesek a fejlesztő személyazonosságának megerősítéséhez. A cikkben áttekintjük a tanúsítványok típusait, létrehozásuk és kezelésük folyamatát.
Főbb pontok
Apple Certificate egy X.509 formátumú kriptográfiai tanúsítvány, amelyet az Apple tanúsítványkiadó hatósága (Apple Certificate Authority) bocsát ki. Igazolja, hogy tulajdonosa az Apple Developer Program regisztrált tagja, és jogosult alkalmazásokat aláírni az Apple ökoszisztémájához. A tanúsítvány nyilvános kulcsból, a tulajdonos metaadataiból és az Apple CA digitális aláírásából áll — bárki ellenőrizheti a tanúsítvány hitelességét az operációs rendszerbe épített Apple gyökértanúsítvány segítségével.
Az Apple PKI architektúrája három szintet foglal magában: az Apple gyökértanúsítvány (Apple Root CA), a köztes tanúsítvány (Apple Worldwide Developer Relations CA) és a fejlesztői tanúsítvány. Apple Worldwide Developer Relations CA írja alá az összes fejlesztői tanúsítványt — ha ez a köztes tanúsítvány hiányzik a bizalmi láncból, a kódaláírás érvénytelennek minősül. Az Apple gyökértanúsítványai automatikusan frissülnek az iOS-be és macOS-be épített Apple Trust Store mechanizmus révén.
Minden tanúsítvány érvényességi idővel rendelkezik — típustól függően egy-három év. Apple Developer Program automatikusan értesíti a fejlesztőt 30 nappal a tanúsítvány lejárta előtt e-mailben és push értesítéssel. A lejárat után a régi tanúsítvány nem használható új build-ek aláírására — újat kell kiadni, azonban a lejárt tanúsítvánnyal aláírt alkalmazások továbbra is működnek a felhasználók eszközein.
A bizalmi lánc garantálja, hogy a fejlesztői tanúsítványt valóban az Apple bocsátotta ki. Az iOS ellenőrzi: az Apple Root CA gyökértanúsítvány (beépítve a firmware-be), az Apple Worldwide Developer Relations CA köztes tanúsítvány, a fejlesztői tanúsítvány. Ha a lánc bármely eleme hiányzik vagy érvénytelen, az iOS blokkolja az alkalmazás indítását code signing hibával. A macOS biztosítja a security segédprogramot bármely tanúsítvány bizalmi láncának ellenőrzéséhez a kulcstartóban.
A kódaláírás folyamata az Apple Certificate használatával aszimmetrikus kriptográfián alapul. A titkos kulcs (private key) a fejlesztő számítógépén a Keychain-ben tárolódik, a nyilvános kulcs (public key) pedig a tanúsítványba kerül, és elküldésre kerül az Apple Developer Portalra. Amikor az Xcode aláír egy alkalmazást, létrehozza a bináris fájl hash-ét, és titkosítja azt a titkos kulccsal — ez a digitális aláírás. Az eszköz visszafejti az aláírást a tanúsítványban lévő nyilvános kulccsal, és összehasonlítja a számított hash-sel.
Az Apple az ECDSA (Elliptic Curve Digital Signature Algorithm) algoritmust használja P-256 görbével a 2021 után kiadott összes tanúsítványhoz. Korábban RSA-2048-at használtak. Az ECDSA-ra való áttérés növelte az aláírás-ellenőrzés sebességét az eszközökön és csökkentette az aláírás méretét — mobilos alkalmazásoknál ez különösen fontos, mivel az aláírás-ellenőrzés minden indításkor megtörténik. Az Apple Security Engineering (2025) szerint az ECDSA P-256 az RSA-2048-cal egyenértékű biztonsági szintet nyújt jelentősen alacsonyabb számítási költségek mellett.
A CI/CD folyamatokhoz a tanúsítványt a titkos kulccsal együtt PKCS12 (.p12) formátumba kell exportálni és védett tárolóban tartani. GitHub Actions, Bitrise, Jenkins és más CI rendszerek támogatják a tanúsítványok importálását környezeti változókon vagy titkokon keresztül. A CI ügynökre történő importálás után a tanúsítvány ideiglenesen hozzáadódik a kulcstartóhoz, aláírásra kerül, majd eltávolításra kerül. A Fastlane Match automatizálja ezt a folyamatot, szinkronizálva a tanúsítványokat a fejlesztők között egy titkosított git repository-n keresztül.
Development tanúsítvány lehetővé teszi az alkalmazások aláírását a fejlesztő fizikai eszközein való futtatáshoz. Megszerzéséhez elegendő egy ingyenes Apple ID fiók — az Xcode automatikusan képes létrehozni a Development tanúsítványt. Distribution tanúsítványt csak fizetős Apple Developer Program fiókok ($99/év) bocsátanak ki, és szükséges az alkalmazás App Store-ba küldéséhez, Ad Hoc terjesztéséhez vagy Enterprise terjesztéséhez. Egy fiók több Distribution tanúsítvánnyal is rendelkezhet — például külön minden alkalmazáshoz vagy különböző csapatokhoz.
Az Apple Developer Portal többféle tanúsítványt kínál, mindegyiket egy adott feladatra tervezve. iOS App Development — alap tanúsítvány az alkalmazások aláírásához a fejlesztési szakaszban. Apple Distribution — fő tanúsítvány az App Store-ban történő közzétételhez. Mac Development és Mac Distribution — megfelelőik macOS alkalmazásokhoz. Minden tanúsítványtípushoz külön kérelem (CSR) tartozik az Apple Developer Portalban.
Külön kategóriát képeznek a push értesítések tanúsítványai. Apple Push Notification service (APNs) vagy külön SSL tanúsítványt, vagy hitelesítési tokenek (APNs Auth Key) használatát igényli. Az APNs SSL tanúsítványok külön kerülnek kiadásra a Development (Sandbox) és Production környezetekhez, és egy adott App ID-hez vannak kötve. APNs Auth Key — modernebb megközelítés: egyetlen kulcs (.p8) szolgálja ki a fiók összes alkalmazását, ami egyszerűsíti a kezelést.
| Tanúsítvány típusa | Rendeltetés | Érvényességi idő |
|---|---|---|
| iOS App Development | Aláírás eszközökön történő teszteléshez | 1 év |
| Apple Distribution | Közzététel az App Store-ban és Ad Hoc | 1 év |
| Mac Development | macOS alkalmazások aláírása fejlesztéshez | 1 év |
| Mac Distribution | Közzététel a Mac App Store-ban | 1 év |
| APNs SSL (Sandbox) | Push értesítések tesztkörnyezetben | 1-3 év |
| APNs SSL (Production) | Push értesítések éles környezetben | 1-3 év |
Az Apple Certificate létrehozása a tanúsítvány-aláírási kérelem (Certificate Signing Request, CSR) generálásával kezdődik a Keychain Access segítségével macOS-en. Keychain Access létrehoz egy kulcspárt: a titkos kulcs a kulcstartóban marad, a CSR pedig elküldésre kerül az Apple Developer Portalra. A személyazonosság ellenőrzése után az Apple aláírja a CSR-t, és kiadja a kész tanúsítványt (.cer), amelyet le kell tölteni és dupla kattintással telepíteni.
Több projekt és csapat kezeléséhez az Apple lehetőséget biztosít tanúsítványok létrehozására különböző Team ID-khoz. Egy fejlesztő több csapatnak is tagja lehet (Apple Developer Program — App Store Connect segítségével), és minden csapathoz külön tanúsítványok kerülnek kiadásra. Xcode automatikusan vált a tanúsítványok között a Signing & Capabilities beállításokban kiválasztott csapat függvényében.
A tanúsítvány visszavonása (revokáció) kritikus művelet: az ezzel a tanúsítvánnyal aláírt összes alkalmazás nem telepíthető új eszközökre (a már telepítettek továbbra is működnek). Apple Developer Portal lehetővé teszi bármely tanúsítvány visszavonását a Certificates szakaszban. A visszavonás okai: a titkos kulcs kompromittálódása, a fejlesztő távozása a csapatból, az Apple Developer Program feltételeinek megsértése. Visszavonás után új tanúsítványt kell kiadni, és az összes aktív build-et újra kell aláírni.
Keychain (kulcstartó) — a macOS rendszertárolója tanúsítványok, titkos kulcsok és jelszavak számára. Az összes Apple tanúsítvány és a hozzájuk tartozó titkos kulcs a felhasználó bejelentkezési kulcstartójában (login.keychain) tárolódik. Az Xcode a kód aláírásakor a Keychain-hez fordul, automatikusan kiválasztva a megfelelő tanúsítványt a build típusa alapján. Az aláírási problémák diagnosztizálásához használja a beépített Keychain Access segédprogramot (/Applications/Utilities mappa).
A tanúsítvány exportálása CI/CD célokra a Keychain Access segítségével történik: válassza ki a tanúsítványt és a hozzá tartozó titkos kulcsot (egy sorban kell lenniük), kattintson jobb gombbal, és válassza az Export lehetőséget. Formátum — PKCS12 (.p12). Exportáláskor a Keychain jelszót kér a fájl védelméhez — erre a jelszóra szükség lesz a CI szerveren történő importáláskor. Titkos kulcs nélkül az exportált tanúsítvány használhatatlan az aláíráshoz — csak a már aláírt kód ellenőrzésére használható.
Példa parancs a tanúsítvány importálására a CI ügynök kulcstartójába a security segédprogram használatával:
# Ideiglenes kulcstartó létrehozása
security create-keychain -p "temp" build.keychain
security default-keychain -s build.keychain
security unlock-keychain -p "temp" build.keychain
# Tanúsítvány importálása .p12-ből
security import certificate.p12 -k build.keychain \
-P "${P12_PASSWORD}" -T /usr/bin/codesign
# Aláírási szabályzat konfigurálása
security set-key-partition-list -S apple: -s \
-k "temp" build.keychain
Security create-keychain létrehoz egy ideiglenes, a felhasználótól elkülönített kulcstartót. Ez fontos a CI számára, hogy ne szennyezze be az ügynök rendszerkulcstartóját. A -T /usr/bin/codesign zászló lehetővé teszi a codesign segédprogram számára a kulcsok elérését jelszókérés nélkül — különben az automatikus aláírás a pipeline-ban egy párbeszédablakkal megszakad. A set-key-partition-list parancs szükséges a macOS automatikus módú kódaláírási követelményeivel való kompatibilitáshoz.
A leggyakoribb hiba — „No signing certificate found” az Xcode-ban történő fordításkor. Akkor fordul elő, ha a Keychain-ben hiányzik a kiválasztott build típusának megfelelő titkos kulccsal rendelkező tanúsítvány. Megoldás: ellenőrizze a Keychain Access-ben a tanúsítvány meglétét, töltse le az Apple Developer Portalról, és telepítse. Ha a titkos kulcs elveszett (régi számítógép, rendszer újratelepítése), vissza kell vonni a régi tanúsítványt, és újat kell kiadni.
A „Valid signing certificate not found” hiba CI/CD-ben akkor fordul elő, ha a köztes Apple tanúsítványok (Apple Worldwide Developer Relations CA) nincsenek telepítve az ügynökön. Apple a fejlesztői tanúsítvány letöltésekor belefoglalja a köztes tanúsítványokat a láncba, de a .p12 manuális exportálásakor hiányozhatnak. Megoldás — töltse le a köztes tanúsítványokat az Apple Certificate Authority weboldaláról, és telepítse őket a CI ügynök kulcstartójába.
A lejárt tanúsítvány problémája a „This certificate has an invalid issuer” hibával jelentkezik aláíráskor. Az Apple Developer Portal mutatja az egyes tanúsítványok állapotát és lejárati dátumát. Ha az alkalmazást már közzétették az App Store-ban lejárt tanúsítvánnyal, továbbra is működik — az App Store saját Apple tanúsítványát használja a terjesztéshez. Új build feltöltéséhez azonban érvényes Distribution tanúsítvány szükséges. Fastlane tartalmazza a cert parancsot a tanúsítványok automatikus létrehozásához és megújításához.
Gyakran ismételt kérdések
Nem, iOS és macOS rendszerekhez különböző típusú tanúsítványokat bocsátanak ki — iOS App Development és Mac Development. Apple Distribution tanúsítvány is platformok szerint van felosztva. A tanúsítvány létrehozásakor az Apple Developer Portalban meg kell adni a célplatformot — univerzális tanúsítvány minden platformhoz nem létezik.
Vissza kell vonni a régi tanúsítványt az Apple Developer Portalban a Certificates, Identifiers & Profiles menüponton keresztül. Ezután hozzon létre egy új CSR-t a Keychain Access segítségével, és bocsásson ki egy új tanúsítványt. Minden, a régi tanúsítvánnyal aláírt alkalmazás újra aláírást és az App Store-ba történő újrafeltöltést igényel, ha frissítést kell kiadni.
Egy Apple Developer Program fiókhoz legfeljebb két Distribution tanúsítvány és korlátlan számú Development tanúsítvány engedélyezett egyszerre. Enterprise fiókok külön korlátozásokkal rendelkeznek. Ha elérte a Distribution tanúsítványok korlátját, vissza kell vonnia egy meglévőt az új létrehozása előtt.
Használja a security segédprogramot: a security find-identity -v -p basic felsorolja az összes tanúsítványt a kulcstartóban a lejárati dátumokkal. Egy adott tanúsítványhoz adja meg a SHA-1 hash-ét: security find-certificate -c „Developer” -p | openssl x509 -noout -enddate.
Igen, a tanúsítványok egy adott Apple Developer fiókhoz (Team ID) vannak kötve. A fiók megváltoztatásakor a régi tanúsítványok érvénytelenné válnak az új Team ID számára. Xcode a fiók Accounts Preferences-ben történő megváltoztatásakor automatikusan kéri új tanúsítványok létrehozását az új csapathoz.
Összefoglaló
Kulcsrakész mobilalkalmazást fejlesztünk
Az IT Sectr 2017 óta készít iOS és Android alkalmazásokat induló vállalkozásoknak és vállalkozásoknak. Tanácsot adunk, és a legjobb megoldást javasoljuk.
Olvassa el is