Apple Certificate — vad det är, vilka typer som finns och hur det fungerar

Författare: IT Sectr Publicerad: 2026-04-16 Lästid: 9 min

Apple Certificate är ett digitalt dokument som utfärdas av Apple Developer Portal för att signera kod för appar på iOS, iPadOS, macOS, tvOS och watchOS. Enligt Apple Developer Support, 2026 är certifikaten en del av infrastrukturen för offentlig nyckel (PKI) och är nödvändiga för att bekräfta utvecklarens identitet. I artikeln går vi igenom typerna av certifikat, processen för att skapa och hantera dem.

Huvudpunkter

  • Apple Certificate — ett digitalt certifikat som bekräftar utvecklarens identitet vid kodsignering
  • Development certifikat gör det möjligt att köra appar på fysiska enheter under utveckling
  • Distribution certifikat är nödvändigt för publicering i App Store eller Ad Hoc-distribution
  • Push Notification certifikat används för att signera anslutningen till APNs och leverera notiser
  • Certifikatets privata nyckel lagras i utvecklarens Keychain och får inte överföras till tredje part

Vad är Apple Certificate

Apple Certificate är ett kryptografiskt certifikat i X.509-format utfärdat av Apples certifikatutfärdare (Apple Certificate Authority). Det bekräftar att ägaren är en registrerad medlem av Apple Developer Program och har rätt att signera appar för Apples ekosystem. Certifikatet består av en offentlig nyckel, metadata om ägaren och en digital signatur från Apple CA — vem som helst kan verifiera certifikatets äkthet med hjälp av Apples rotcertifikat inbyggt i operativsystemet.

Apples PKI-arkitektur omfattar tre nivåer: Apples rotcertifikat (Apple Root CA), det mellanliggande certifikatet (Apple Worldwide Developer Relations CA) och utvecklarcertifikatet. Apple Worldwide Developer Relations CA signerar alla utvecklarcertifikat — om detta mellanliggande certifikat saknas i förtroendekedjan anses kodsignaturen vara ogiltig. Apples rotcertifikat uppdateras automatiskt via Apple Trust Store-mekanismen inbyggd i iOS och macOS.

Varje certifikat har en giltighetstid — från ett till tre år, beroende på typ. Apple Developer Program meddelar automatiskt utvecklaren 30 dagar före certifikatets utgång via e-post och push-notiser. Efter utgången kan det gamla certifikatet inte användas för att signera nya byggen — ett nytt måste utfärdas, men appar som signerats med det utgångna certifikatet fortsätter att fungera på användarnas enheter.

Apples förtroendekedja

Förtroendekedjan garanterar att utvecklarcertifikatet verkligen har utfärdats av Apple. iOS kontrollerar: rotcertifikatet Apple Root CA (inbyggt i firmware), det mellanliggande certifikatet Apple Worldwide Developer Relations CA, utvecklarcertifikatet. Om något element i kedjan saknas eller är ogiltigt blockerar iOS starten av appen med ett code signing-fel. macOS tillhandahåller verktyget security för att kontrollera förtroendekedjan för alla certifikat i nyckelringen.

Hur Apple-certifikat fungerar

Processen för kodsignering med Apple Certificate baseras på asymmetrisk kryptering. Den privata nyckeln (private key) lagras på utvecklarens dator i Keychain, medan den offentliga nyckeln (public key) ingår i certifikatet och skickas till Apple Developer Portal. När Xcode signerar en app skapar den en hash av den binära filen och krypterar den med den privata nyckeln — detta är den digitala signaturen. Enheten dekrypterar signaturen med den offentliga nyckeln från certifikatet och jämför den med den beräknade hashkoden.

Apple använder algoritmen ECDSA (Elliptic Curve Digital Signature Algorithm) med kurvan P-256 för alla certifikat som utfärdats efter 2021. Tidigare användes RSA-2048. Övergången till ECDSA har ökat hastigheten för signaturverifiering på enheter och minskat signaturstorleken — för mobila appar är detta särskilt viktigt eftersom signaturverifiering utförs vid varje start. Enligt Apple Security Engineering (2025) ger ECDSA P-256 en motsvarande säkerhetsnivå som RSA-2048 med betydligt lägre beräkningskostnader.

För CI/CD-processer måste certifikatet tillsammans med den privata nyckeln exporteras till PKCS12 (.p12) och lagras i en skyddad lagringsplats. GitHub Actions, Bitrise, Jenkins och andra CI-system stöder import av certifikat via miljövariabler eller hemligheter. Efter import på CI-agenten läggs certifikatet tillfälligt till i nyckelringen, används för signering och tas bort. Fastlane Match automatiserar denna process genom att synkronisera certifikat mellan utvecklare via ett krypterat git-repository.

Skillnad mellan Development- och Distribution-certifikat

Development certifikat gör det möjligt att signera appar för körning på utvecklarens fysiska enheter. För att få det räcker ett gratis Apple ID-konto — Xcode kan automatiskt generera ett Development-certifikat. Distribution certifikat utfärdas endast för betalda Apple Developer Program-konton ($99/år) och krävs för att skicka in appar till App Store, Ad Hoc-distribution eller Enterprise-distribution. Ett konto kan ha flera Distribution-certifikat — till exempel separata för varje app eller för olika team.

Typer av Apple Certificate

Apple Developer Portal tillhandahåller flera typer av certifikat, var och en avsedd för en specifik uppgift. iOS App Development — grundläggande certifikat för signering av appar under utvecklingsfasen. Apple Distribution — huvudcertifikat för publicering i App Store. Mac Development och Mac Distribution — motsvarigheter för macOS-appar. För varje certifikatstyp finns en separat begäran (CSR) i Apple Developer Portal.

En separat kategori utgörs av certifikat för push-notiser. Apple Push Notification service (APNs) kräver antingen ett separat SSL-certifikat eller användning av autentiseringstoken (APNs Auth Key). SSL-certifikat för APNs utfärdas separat för Development (Sandbox)- och Production-miljöer och är bundna till ett specifikt App ID. APNs Auth Key — en modernare metod: en enda nyckel (.p8) betjänar alla appar på kontot, vilket förenklar hanteringen.

Typ av certifikatÄndamålGiltighetstid
iOS App DevelopmentSignering för testning på enheter1 år
Apple DistributionPublicering i App Store och Ad Hoc1 år
Mac DevelopmentSignering av macOS-appar för utveckling1 år
Mac DistributionPublicering i Mac App Store1 år
APNs SSL (Sandbox)Push-notiser i testmiljö1-3 år
APNs SSL (Production)Push-notiser i produktionsmiljö1-3 år

Skapa och hantera certifikat

Att skapa ett Apple Certificate börjar med att generera en certifikatsigneringsbegäran (Certificate Signing Request, CSR) via Keychain Access på macOS. Keychain Access skapar ett nyckelpar: den privata nyckeln förblir i nyckelringen och CSR skickas till Apple Developer Portal. Efter identitetsverifiering signerar Apple CSR och utfärdar det färdiga certifikatet (.cer) som måste laddas ner och installeras med ett dubbelklick.

För att hantera flera projekt och team erbjuder Apple möjligheten att skapa certifikat för olika Team ID. En utvecklare kan vara medlem i flera team (via Apple Developer Program — App Store Connect) och för varje team utfärdas separata certifikat. Xcode växlar automatiskt mellan certifikat beroende på valt team i inställningarna för Signing & Capabilities.

Återkallelse (revokation) av ett certifikat är en kritisk operation: alla appar som signerats med detta certifikat kan inte installeras på nya enheter (redan installerade fortsätter att fungera). Apple Developer Portal gör det möjligt att återkalla vilket certifikat som helst i avsnittet Certificates. Orsaker till återkallelse: kompromettering av den privata nyckeln, utvecklarens avhopp från teamet, brott mot Apples Developer Program-villkor. Efter återkallelse måste ett nytt certifikat utfärdas och alla aktiva byggen signeras om.

Keychain och export av certifikat

Keychain (nyckelring) — macOS systemlagring för certifikat, privata nycklar och lösenord. Alla Apple-certifikat och motsvarande privata nycklar lagras i användarens inloggningsnyckelring (login.keychain). Xcode kommer åt Keychain vid kodsignering och väljer automatiskt lämpligt certifikat baserat på byggtyp. För att diagnostisera signeringsproblem, använd det inbyggda verktyget Keychain Access (mappen /Applications/Utilities).

Export av certifikat för CI/CD görs via Keychain Access: välj certifikatet och motsvarande privata nyckel (de måste vara expanderade på samma rad), högerklicka och välj Export. Format — PKCS12 (.p12). Vid export kommer Keychain att begära ett lösenord för att skydda filen — detta lösenord kommer att behövas vid import på CI-servern. Utan den privata nyckeln är det exporterade certifikatet oanvändbart för signering — det kan bara användas för att verifiera redan signerad kod.

Importera certifikat i CI/CD

Exempel på kommando för att importera ett certifikat till CI-agentens nyckelring med hjälp av verktyget security:

bash
# Skapa tillfällig nyckelring
security create-keychain -p "temp" build.keychain
security default-keychain -s build.keychain
security unlock-keychain -p "temp" build.keychain

# Importera certifikat från .p12
security import certificate.p12 -k build.keychain \
  -P "${P12_PASSWORD}" -T /usr/bin/codesign

# Konfigurera signeringspolicy
security set-key-partition-list -S apple: -s \
  -k "temp" build.keychain

Security create-keychain skapar en tillfällig nyckelring som är isolerad från användarens. Detta är viktigt för CI för att inte förorena agentens systemnyckelring. Flaggan -T /usr/bin/codesign tillåter verktyget codesign att komma åt nycklarna utan att begära lösenord — annars kommer automatisk signering i pipelinen att avbrytas av en dialogruta. Kommandot set-key-partition-list är nödvändigt för kompatibilitet med macOS-kraven för kodsignering i automatiskt läge.

Problem med certifikat och deras lösningar

Det vanligaste felet — “No signing certificate found” vid kompilering i Xcode. Uppstår när det i Keychain saknas ett certifikat med privat nyckel som motsvarar den valda byggtypen. Lösning: kontrollera Keychain Access för certifikatets existens, ladda ner det från Apple Developer Portal och installera det. Om den privata nyckeln har förlorats (gammal dator, ominstallation av system) måste det gamla certifikatet återkallas och ett nytt utfärdas.

Felet “Valid signing certificate not found” i CI/CD uppstår när de mellanliggande Apple-certifikaten (Apple Worldwide Developer Relations CA) inte är installerade på agenten. Apple inkluderar mellanliggande certifikat i kedjan vid nedladdning av utvecklarcertifikatet, men vid manuell export av .p12 kan de saknas. Lösning — ladda ner de mellanliggande certifikaten från Apple Certificate Authority-webbplatsen och installera dem i CI-agentens nyckelring.

Problemet med utgånget certifikat visar sig med felet “This certificate has an invalid issuer” vid signering. Apple Developer Portal visar status för varje certifikat och utgångsdatum. Om appen redan har publicerats i App Store med ett utgånget certifikat fortsätter den att fungera — App Store använder sitt eget Apple-certifikat för distribution. För att ladda upp ett nytt bygg krävs dock ett giltigt Distribution-certifikat. Fastlane innehåller kommandot cert för automatisk skapande och förnyelse av certifikat.

Vanliga frågor

Kan samma Apple Certificate användas för iOS- och macOS-appar?

Nej, för iOS och macOS utfärdas olika typer av certifikat — iOS App Development och Mac Development. Apple Distribution certifikat är också uppdelat per plattform. När du skapar ett certifikat i Apple Developer Portal måste du ange målplattformen — ett universellt certifikat för alla plattformar finns inte.

Vad gör man om den privata nyckeln till certifikatet har förlorats?

Du måste återkalla det gamla certifikatet i Apple Developer Portal via Certificates, Identifiers & Profiles. Skapa sedan en ny CSR via Keychain Access och utfärda ett nytt certifikat. Alla appar som signerats med det gamla certifikatet kommer att kräva omsignering och omladdning till App Store om en uppdatering behöver lanseras.

Hur många certifikat kan finnas på ett Apple Developer-konto?

För ett Apple Developer Program-konto är högst två Distribution-certifikat och ett obegränsat antal Development-certifikat tillåtna samtidigt. Enterprise-konton har separata gränser. Om gränsen för Distribution-certifikat har uppnåtts måste du återkalla ett av de befintliga innan du skapar ett nytt.

Hur kontrollerar man ett certifikats giltighetstid från kommandoraden?

Använd verktyget security: security find-identity -v -p basic listar alla certifikat i nyckelringen med utgångsdatum. För ett specifikt certifikat, ange dess SHA-1-hash: security find-certificate -c “Developer” -p | openssl x509 -noout -enddate.

Påverkar byte av Apple ID-konto befintliga certifikat?

Ja, certifikaten är bundna till ett specifikt Apple Developer-konto (Team ID). Vid byte av konto blir gamla certifikat ogiltiga för det nya Team ID. Xcode vid byte av konto i Accounts Preferences begär automatiskt att nya certifikat skapas för det nya teamet.

Sammanfattning

  • Apple Certificate — digitalt X.509-certifikat utfärdat av Apple CA för att bekräfta utvecklarens identitet vid kodsignering
  • Development certifikat gör det möjligt att köra appar på fysiska enheter utan publicering i App Store
  • Distribution certifikat krävs för att ladda upp appar till App Store och Ad Hoc-distribution
  • APNs certifikat eller token behövs för att leverera push-notiser via Apples servrar
  • Privat nyckel lagras i utvecklarens Keychain och kan inte återställas vid förlust — kräver återkallelse av certifikatet
  • PKCS12 export används för att överföra certifikat mellan datorer och till CI/CD-system
  • Förtroendekedjan hos Apple omfattar rot-, mellanliggande och utvecklarcertifikat — avbrott i någon länk blockerar signering

Vi utvecklar en mobil applikation nyckelfärdigt

IT Sectr skapar iOS- och Android-applikationer för startups och företag sedan 2017. Vi ger dig råd och föreslår den bästa lösningen.

Diskutera projektet

Läs också