Apple Certificate — τι είναι, ποιοι τύποι υπάρχουν και πώς λειτουργεί

Συγγραφέας: IT Sectr Δημοσιεύτηκε: 2026-04-16 Χρόνος ανάγνωσης: 9 λεπ

Το Apple Certificate είναι ένα ψηφιακό έγγραφο που εκδίδεται από το Apple Developer Portal για την υπογραφή κώδικα εφαρμογών για iOS, iPadOS, macOS, tvOS και watchOS. Σύμφωνα με το Apple Developer Support, 2026, τα πιστοποιητικά αποτελούν μέρος της υποδομής δημόσιου κλειδιού (PKI) και είναι απαραίτητα για την επιβεβαίωση της ταυτότητας του προγραμματιστή. Στο άρθρο θα εξετάσουμε τους τύπους πιστοποιητικών, τη διαδικασία δημιουργίας και διαχείρισής τους.

Κύρια σημεία

  • Apple Certificate — ψηφιακό πιστοποιητικό που πιστοποιεί την ταυτότητα του προγραμματιστή κατά την υπογραφή κώδικα
  • Development πιστοποιητικό επιτρέπει την εκτέλεση εφαρμογών σε φυσικές συσκευές κατά την ανάπτυξη
  • Distribution πιστοποιητικό είναι απαραίτητο για δημοσίευση στο App Store ή διανομή Ad Hoc
  • Push Notification πιστοποιητικά χρησιμοποιούνται για την υπογραφή της σύνδεσης με το APNs και την παράδοση ειδοποιήσεων
  • Το ιδιωτικό κλειδί του πιστοποιητικού αποθηκεύεται στο Keychain του προγραμματιστή και δεν πρέπει να μεταβιβάζεται σε τρίτους

Τι είναι το Apple Certificate

Apple Certificate είναι ένα κρυπτογραφικό πιστοποιητικό σε μορφή X.509 που εκδίδεται από την αρχή πιστοποίησης της Apple (Apple Certificate Authority). Πιστοποιεί ότι ο κάτοχός του είναι εγγεγραμμένο μέλος του Apple Developer Program και έχει το δικαίωμα να υπογράφει εφαρμογές για το οικοσύστημα της Apple. Το πιστοποιητικό αποτελείται από ένα δημόσιο κλειδί, μεταδεδομένα κατόχου και ψηφιακή υπογραφή της Apple CA — ο καθένας μπορεί να επαληθεύσει την αυθεντικότητα του πιστοποιητικού χρησιμοποιώντας το ριζικό πιστοποιητικό της Apple ενσωματωμένο στο λειτουργικό σύστημα.

Η αρχιτεκτονική PKI της Apple περιλαμβάνει τρία επίπεδα: το ριζικό πιστοποιητικό Apple (Apple Root CA), το ενδιάμεσο πιστοποιητικό (Apple Worldwide Developer Relations CA) και το πιστοποιητικό προγραμματιστή. Apple Worldwide Developer Relations CA υπογράφει όλα τα πιστοποιητικά προγραμματιστών — αν αυτό το ενδιάμεσο πιστοποιητικό λείπει από την αλυσίδα εμπιστοσύνης, η υπογραφή κώδικα θεωρείται άκυρη. Τα ριζικά πιστοποιητικά της Apple ενημερώνονται αυτόματα μέσω του μηχανισμού Apple Trust Store ενσωματωμένου σε iOS και macOS.

Κάθε πιστοποιητικό έχει περίοδο ισχύος — από ένα έως τρία έτη, ανάλογα με τον τύπο. Apple Developer Program ειδοποιεί αυτόματα τον προγραμματιστή 30 ημέρες πριν από τη λήξη του πιστοποιητικού μέσω email και push ειδοποιήσεων. Μετά τη λήξη, το παλιό πιστοποιητικό δεν μπορεί να χρησιμοποιηθεί για υπογραφή νέων builds — πρέπει να εκδοθεί νέο, ωστόσο οι εφαρμογές που υπογράφηκαν με το ληγμένο πιστοποιητικό συνεχίζουν να λειτουργούν στις συσκευές των χρηστών.

Η αλυσίδα εμπιστοσύνης της Apple

Η αλυσίδα εμπιστοσύνης εγγυάται ότι το πιστοποιητικό προγραμματιστή εκδόθηκε πράγματι από την Apple. Το iOS ελέγχει: το ριζικό πιστοποιητικό Apple Root CA (ενσωματωμένο στο υλικολογισμικό), το ενδιάμεσο πιστοποιητικό Apple Worldwide Developer Relations CA, το πιστοποιητικό προγραμματιστή. Αν κάποιο στοιχείο της αλυσίδας λείπει ή είναι άκυρο, το iOS μπλοκάρει την εκκίνηση της εφαρμογής με σφάλμα code signing. Το macOS παρέχει το βοηθητικό πρόγραμμα security για τον έλεγχο της αλυσίδας εμπιστοσύνης οποιουδήποτε πιστοποιητικού στην αλυσίδα κλειδιών.

Πώς λειτουργούν τα πιστοποιητικά Apple

Η διαδικασία υπογραφής κώδικα με χρήση Apple Certificate βασίζεται σε ασύμμετρη κρυπτογραφία. Το ιδιωτικό κλειδί (private key) αποθηκεύεται στον υπολογιστή του προγραμματιστή στο Keychain, ενώ το δημόσιο κλειδί (public key) περιλαμβάνεται στο πιστοποιητικό και αποστέλλεται στο Apple Developer Portal. Όταν το Xcode υπογράφει μια εφαρμογή, δημιουργεί μια σύνοψη (hash) του δυαδικού αρχείου και την κρυπτογραφεί με το ιδιωτικό κλειδί — αυτή είναι η ψηφιακή υπογραφή. Η συσκευή αποκρυπτογραφεί την υπογραφή με το δημόσιο κλειδί από το πιστοποιητικό και τη συγκρίνει με την υπολογισμένη σύνοψη.

Η Apple χρησιμοποιεί τον αλγόριθμο ECDSA (Elliptic Curve Digital Signature Algorithm) με καμπύλη P-256 για όλα τα πιστοποιητικά που εκδόθηκαν μετά το 2021. Προηγουμένως χρησιμοποιούνταν RSA-2048. Η μετάβαση στο ECDSA αύξησε την ταχύτητα επαλήθευσης υπογραφής στις συσκευές και μείωσε το μέγεθος της υπογραφής — για εφαρμογές κινητών αυτό είναι ιδιαίτερα σημαντικό, καθώς η επαλήθευση υπογραφής πραγματοποιείται σε κάθε εκκίνηση. Σύμφωνα με το Apple Security Engineering (2025), το ECDSA P-256 παρέχει ισοδύναμο επίπεδο ασφαλείας με το RSA-2048 με σημαντικά χαμηλότερο υπολογιστικό κόστος.

Για διαδικασίες CI/CD, το πιστοποιητικό μαζί με το ιδιωτικό κλειδί πρέπει να εξαχθεί σε PKCS12 (.p12) και να αποθηκευτεί σε προστατευμένο χώρο αποθήκευσης. GitHub Actions, Bitrise, Jenkins και άλλα συστήματα CI υποστηρίζουν εισαγωγή πιστοποιητικών μέσω μεταβλητών περιβάλλοντος ή μυστικών. Μετά την εισαγωγή στον CI agent, το πιστοποιητικό προστίθεται προσωρινά στην αλυσίδα κλειδιών, χρησιμοποιείται για υπογραφή και αφαιρείται. Fastlane Match αυτοματοποιεί αυτή τη διαδικασία, συγχρονίζοντας πιστοποιητικά μεταξύ προγραμματιστών μέσω ενός κρυπτογραφημένου git αποθετηρίου.

Διαφορά μεταξύ πιστοποιητικών Development και Distribution

Development πιστοποιητικό επιτρέπει την υπογραφή εφαρμογών για εκτέλεση σε φυσικές συσκευές του προγραμματιστή. Για την απόκτησή του αρκεί ένας δωρεάν λογαριασμός Apple ID — το Xcode μπορεί να δημιουργήσει αυτόματα ένα Development πιστοποιητικό. Distribution πιστοποιητικό εκδίδεται μόνο για πληρωμένους λογαριασμούς Apple Developer Program ($99/έτος) και απαιτείται για την αποστολή εφαρμογής στο App Store, διανομή Ad Hoc ή Enterprise. Ένας λογαριασμός μπορεί να έχει πολλαπλά Distribution πιστοποιητικά — για παράδειγμα, ξεχωριστά για κάθε εφαρμογή ή για διαφορετικές ομάδες.

Τύποι Apple Certificate

Το Apple Developer Portal παρέχει διάφορους τύπους πιστοποιητικών, ο καθένας σχεδιασμένος για μια συγκεκριμένη εργασία. iOS App Development — βασικό πιστοποιητικό για υπογραφή εφαρμογών στο στάδιο ανάπτυξης. Apple Distribution — κύριο πιστοποιητικό για δημοσίευση στο App Store. Mac Development και Mac Distribution — αντίστοιχα για εφαρμογές macOS. Για κάθε τύπο πιστοποιητικού υπάρχει ξεχωριστό αίτημα (CSR) στο Apple Developer Portal.

Ξεχωριστή κατηγορία αποτελούν τα πιστοποιητικά για push ειδοποιήσεις. Apple Push Notification service (APNs) απαιτεί είτε ξεχωριστό πιστοποιητικό SSL είτε χρήση διακριτικών ελέγχου ταυτότητας (APNs Auth Key). Τα πιστοποιητικά SSL APNs εκδίδονται ξεχωριστά για περιβάλλοντα Development (Sandbox) και Production και είναι δεσμευμένα σε ένα συγκεκριμένο App ID. APNs Auth Key — μια πιο σύγχρονη προσέγγιση: ένα κλειδί (.p8) εξυπηρετεί όλες τις εφαρμογές του λογαριασμού, απλοποιώντας τη διαχείριση.

Τύπος πιστοποιητικούΣκοπόςΠερίοδος ισχύος
iOS App DevelopmentΥπογραφή για δοκιμή σε συσκευές1 έτος
Apple DistributionΔημοσίευση στο App Store και Ad Hoc1 έτος
Mac DevelopmentΥπογραφή εφαρμογών macOS για ανάπτυξη1 έτος
Mac DistributionΔημοσίευση στο Mac App Store1 έτος
APNs SSL (Sandbox)Push ειδοποιήσεις σε δοκιμαστικό περιβάλλον1-3 έτη
APNs SSL (Production)Push ειδοποιήσεις σε παραγωγή1-3 έτη

Δημιουργία και διαχείριση πιστοποιητικών

Η δημιουργία ενός Apple Certificate ξεκινά με τη δημιουργία ενός αιτήματος υπογραφής πιστοποιητικού (Certificate Signing Request, CSR) μέσω του Keychain Access σε macOS. Keychain Access δημιουργεί ένα ζεύγος κλειδιών: το ιδιωτικό κλειδί παραμένει στην αλυσίδα κλειδιών, ενώ το CSR αποστέλλεται στο Apple Developer Portal. Μετά την επαλήθευση ταυτότητας, η Apple υπογράφει το CSR και εκδίδει το έτοιμο πιστοποιητικό (.cer) που πρέπει να ληφθεί και να εγκατασταθεί με διπλό κλικ.

Για τη διαχείριση πολλών έργων και ομάδων, η Apple παρέχει τη δυνατότητα δημιουργίας πιστοποιητικών για διαφορετικά Team ID. Ένας προγραμματιστής μπορεί να είναι μέλος πολλών ομάδων (μέσω Apple Developer Program — App Store Connect) και για κάθε ομάδα εκδίδονται ξεχωριστά πιστοποιητικά. Xcode αλλάζει αυτόματα πιστοποιητικά ανάλογα με την επιλεγμένη ομάδα στις ρυθμίσεις Signing & Capabilities.

Η ανάκληση (revocation) ενός πιστοποιητικού είναι κρίσιμη λειτουργία: όλες οι εφαρμογές που υπογράφηκαν με αυτό το πιστοποιητικό δεν εγκαθίστανται σε νέες συσκευές (οι ήδη εγκατεστημένες συνεχίζουν να λειτουργούν). Apple Developer Portal επιτρέπει την ανάκληση οποιουδήποτε πιστοποιητικού στην ενότητα Certificates. Λόγοι ανάκλησης: παραβίαση του ιδιωτικού κλειδιού, αποχώρηση προγραμματιστή από την ομάδα, παραβίαση όρων του Apple Developer Program. Μετά την ανάκληση, πρέπει να εκδοθεί νέο πιστοποιητικό και να υπογραφούν ξανά όλα τα ενεργά builds.

Keychain και εξαγωγή πιστοποιητικών

Keychain (αλυσίδα κλειδιών) — η αποθήκη συστήματος macOS για πιστοποιητικά, ιδιωτικά κλειδιά και κωδικούς πρόσβασης. Όλα τα πιστοποιητικά Apple και τα αντίστοιχα ιδιωτικά κλειδιά αποθηκεύονται στην αλυσίδα κλειδιών σύνδεσης (login.keychain) του χρήστη. Το Xcode έχει πρόσβαση στο Keychain κατά την υπογραφή κώδικα, επιλέγοντας αυτόματα το κατάλληλο πιστοποιητικό ανάλογα με τον τύπο build. Για τη διάγνωση προβλημάτων υπογραφής, χρησιμοποιήστε το ενσωματωμένο βοηθητικό πρόγραμμα Keychain Access (φάκελος /Applications/Utilities).

Η εξαγωγή πιστοποιητικού για CI/CD γίνεται μέσω του Keychain Access: επιλέξτε το πιστοποιητικό και το αντίστοιχο ιδιωτικό κλειδί (πρέπει να είναι αναπτυγμένα στην ίδια γραμμή), κάντε δεξί κλικ και επιλέξτε Export. Μορφή — PKCS12 (.p12). Κατά την εξαγωγή, το Keychain θα ζητήσει κωδικό πρόσβασης για την προστασία του αρχείου — αυτός ο κωδικός θα χρειαστεί κατά την εισαγωγή στον διακομιστή CI. Χωρίς το ιδιωτικό κλειδί, το εξαγόμενο πιστοποιητικό είναι άχρηστο για υπογραφή — μπορεί να χρησιμοποιηθεί μόνο για επαλήθευση ήδη υπογεγραμμένου κώδικα.

Εισαγωγή πιστοποιητικού σε CI/CD

Παράδειγμα εντολής για εισαγωγή πιστοποιητικού στην αλυσίδα κλειδιών του CI agent χρησιμοποιώντας το βοηθητικό πρόγραμμα security:

bash
# Δημιουργία προσωρινής αλυσίδας κλειδιών
security create-keychain -p "temp" build.keychain
security default-keychain -s build.keychain
security unlock-keychain -p "temp" build.keychain

# Εισαγωγή πιστοποιητικού από .p12
security import certificate.p12 -k build.keychain \
  -P "${P12_PASSWORD}" -T /usr/bin/codesign

# Διαμόρφωση πολιτικής υπογραφής
security set-key-partition-list -S apple: -s \
  -k "temp" build.keychain

Security create-keychain δημιουργεί μια προσωρινή αλυσίδα κλειδιών, απομονωμένη από αυτήν του χρήστη. Αυτό είναι σημαντικό για CI για να μην μολυνθεί η αλυσίδα κλειδιών συστήματος του agent. Η σημαία -T /usr/bin/codesign επιτρέπει στο βοηθητικό πρόγραμμα codesign πρόσβαση στα κλειδιά χωρίς αίτημα κωδικού — διαφορετικά η αυτόματη υπογραφή στο pipeline θα διακοπεί από ένα παράθυρο διαλόγου. Η εντολή set-key-partition-list είναι απαραίτητη για συμβατότητα με τις απαιτήσεις macOS για υπογραφή κώδικα σε αυτόματη λειτουργία.

Προβλήματα με πιστοποιητικά και λύσεις

Το πιο συνηθισμένο σφάλμα — “No signing certificate found” κατά τη μεταγλώττιση στο Xcode. Εμφανίζεται όταν στο Keychain λείπει ένα πιστοποιητικό με ιδιωτικό κλειδί που αντιστοιχεί στον επιλεγμένο τύπο build. Λύση: ελέγξτε το Keychain Access για την ύπαρξη του πιστοποιητικού, λήψτε το από το Apple Developer Portal και εγκαταστήστε το. Εάν το ιδιωτικό κλειδί έχει χαθεί (παλιός υπολογιστής, επανεγκατάσταση συστήματος), πρέπει να ανακληθεί το παλιό πιστοποιητικό και να εκδοθεί νέο.

Το σφάλμα “Valid signing certificate not found” σε CI/CD εμφανίζεται όταν τα ενδιάμεσα πιστοποιητικά Apple (Apple Worldwide Developer Relations CA) δεν είναι εγκατεστημένα στον agent. Apple συμπεριλαμβάνει τα ενδιάμεσα πιστοποιητικά στην αλυσίδα κατά τη λήψη του πιστοποιητικού προγραμματιστή, αλλά κατά τη χειροκίνητη εξαγωγή .p12 μπορεί να απουσιάζουν. Λύση — λήψη ενδιάμεσων πιστοποιητικών από τον ιστότοπο Apple Certificate Authority και εγκατάστασή τους στην αλυσίδα κλειδιών του CI agent.

Το πρόβλημα με πιστοποιητικό που έχει λήξει εκδηλώνεται με το σφάλμα “This certificate has an invalid issuer” κατά την υπογραφή. Το Apple Developer Portal εμφανίζει την κατάσταση κάθε πιστοποιητικού και την ημερομηνία λήξης. Εάν η εφαρμογή έχει ήδη δημοσιευτεί στο App Store με ληγμένο πιστοποιητικό, συνεχίζει να λειτουργεί — το App Store χρησιμοποιεί το δικό του πιστοποιητικό Apple για διανομή. Ωστόσο, για τη μεταφόρτωση νέου build απαιτείται έγκυρο Distribution πιστοποιητικό. Fastlane περιλαμβάνει την εντολή cert για αυτόματη δημιουργία και ανανέωση πιστοποιητικών.

Συχνές ερωτήσεις

Μπορεί να χρησιμοποιηθεί ένα Apple Certificate για εφαρμογές iOS και macOS;

Όχι, για iOS και macOS εκδίδονται διαφορετικοί τύποι πιστοποιητικών — iOS App Development και Mac Development. Apple Distribution πιστοποιητικό είναι επίσης διαχωρισμένο ανά πλατφόρμα. Κατά τη δημιουργία πιστοποιητικού στο Apple Developer Portal πρέπει να καθορίσετε την πλατφόρμα-στόχο — καθολικό πιστοποιητικό για όλες τις πλατφόρμες δεν υπάρχει.

Τι να κάνετε αν χαθεί το ιδιωτικό κλειδί του πιστοποιητικού;

Πρέπει να ανακληθεί το παλιό πιστοποιητικό στο Apple Developer Portal μέσω των Certificates, Identifiers & Profiles. Στη συνέχεια, δημιουργήστε ένα νέο CSR μέσω του Keychain Access και εκδώστε νέο πιστοποιητικό. Όλες οι εφαρμογές που υπογράφηκαν με το παλιό πιστοποιητικό θα απαιτήσουν εκ νέου υπογραφή και εκ νέου μεταφόρτωση στο App Store, εάν χρειαστεί να κυκλοφορήσει μια ενημέρωση.

Πόσα πιστοποιητικά μπορεί να έχει ένας λογαριασμός Apple Developer;

Για έναν λογαριασμό Apple Developer Program επιτρέπονται το πολύ δύο πιστοποιητικά Distribution και απεριόριστος αριθμός πιστοποιητικών Development ταυτόχρονα. Enterprise λογαριασμοί έχουν ξεχωριστά όρια. Εάν έχει επιτευχθεί το όριο πιστοποιητικών Distribution, πρέπει να ανακληθεί ένα από τα υπάρχοντα πριν από τη δημιουργία νέου.

Πώς να ελέγξετε την περίοδο ισχύος ενός πιστοποιητικού από τη γραμμή εντολών;

Χρησιμοποιήστε το βοηθητικό πρόγραμμα security: το security find-identity -v -p basic θα εμφανίσει όλα τα πιστοποιητικά στην αλυσίδα κλειδιών με ημερομηνίες λήξης. Για ένα συγκεκριμένο πιστοποιητικό, καθορίστε το SHA-1 hash του: security find-certificate -c “Developer” -p | openssl x509 -noout -enddate.

Επηρεάζει η αλλαγή λογαριασμού Apple ID τα υπάρχοντα πιστοποιητικά;

Ναι, τα πιστοποιητικά είναι δεσμευμένα σε έναν συγκεκριμένο λογαριασμό Apple Developer (Team ID). Κατά την αλλαγή λογαριασμού, τα παλιά πιστοποιητικά καθίστανται άκυρα για το νέο Team ID. Xcode κατά την αλλαγή λογαριασμού στο Accounts Preferences ζητά αυτόματα τη δημιουργία νέων πιστοποιητικών για τη νέα ομάδα.

Σύνοψη

  • Apple Certificate — ψηφιακό πιστοποιητικό X.509 που εκδίδεται από την Apple CA για επιβεβαίωση ταυτότητας προγραμματιστή κατά την υπογραφή κώδικα
  • Development πιστοποιητικό επιτρέπει την εκτέλεση εφαρμογών σε φυσικές συσκευές χωρίς δημοσίευση στο App Store
  • Distribution πιστοποιητικό απαιτείται για τη μεταφόρτωση εφαρμογής στο App Store και διανομή Ad Hoc
  • APNs πιστοποιητικά ή διακριτικά είναι απαραίτητα για την παράδοση push ειδοποιήσεων μέσω διακομιστών Apple
  • Ιδιωτικό κλειδί αποθηκεύεται στο Keychain του προγραμματιστή και δεν μπορεί να ανακτηθεί αν χαθεί — απαιτεί ανάκληση πιστοποιητικού
  • PKCS12 εξαγωγή χρησιμοποιείται για μεταφορά πιστοποιητικού μεταξύ υπολογιστών και σε συστήματα CI/CD
  • Αλυσίδα εμπιστοσύνης Apple περιλαμβάνει ριζικό, ενδιάμεσο και πιστοποιητικό προγραμματιστή — διακοπή οποιουδήποτε κρίκου μπλοκάρει την υπογραφή

Θα αναπτύξουμε μια εφαρμογή για κινητά έτοιμη για χρήση

Η IT Sectr δημιουργεί εφαρμογές iOS και Android για νεοφυείς επιχειρήσεις και επιχειρήσεις από το 2017. Θα σας συμβουλεύσουμε και θα προτείνουμε την καλύτερη λύση.

Συζήτηση έργου

Διαβάστε επίσης