Με την Υπογραφή εφαρμογής Play, η Google διαχειρίζεται και προστατεύει το κλειδί υπογραφής της εφαρμογής σας για λογαριασμό σας και το χρησιμοποιεί για να υπογράφει βελτιστοποιημένα APK διανομής τα οποία δημιουργούνται από τα πακέτα εφαρμογών. Η Υπογραφή εφαρμογής Play αποθηκεύει το κλειδί υπογραφής εφαρμογής στην ασφαλή υποδομή της Google και προσφέρει επιλογές αναβάθμισης για τη βελτίωση της ασφάλειας.
Για να χρησιμοποιήσετε την Υπογραφή εφαρμογής Play, πρέπει να είστε κάτοχος λογαριασμού ή χρήστης με την άδεια Κυκλοφορία στην παραγωγή, εξαίρεση συσκευών και χρήση της Υπογραφής εφαρμογής Play και θα πρέπει να αποδεχτείτε τους Όρους Παροχής Υπηρεσιών της Υπογραφής εφαρμογής Play.
Τρόπος λειτουργίας
Όταν χρησιμοποιείτε την Υπογραφή εφαρμογής Play, τα κλειδιά σας αποθηκεύονται στην ίδια ασφαλή υποδομή που χρησιμοποιεί η Google για να αποθηκεύει τα δικά της κλειδιά. Τα κλειδιά προστατεύονται από την Υπηρεσία διαχείρισης κλειδιών της Google. Εάν θέλετε να μάθετε περισσότερα σχετικά με την υποδομή της Google, διαβάστε τη Λευκή βίβλο ασφάλειας του Google Cloud.
Οι εφαρμογές Android υπογράφονται με ένα ιδιωτικό κλειδί. Για να διασφαλιστεί ότι οι ενημερώσεις εφαρμογών είναι αξιόπιστες, κάθε ιδιωτικό κλειδί διαθέτει ένα συσχετισμένο δημόσιο πιστοποιητικό το οποίο χρησιμοποιούν οι συσκευές και οι υπηρεσίες για να επαληθεύσουν ότι η ενημέρωση εφαρμογής προέρχεται από την ίδια πηγή. Οι συσκευές δέχονται τις ενημερώσεις μόνο όταν η υπογραφή της ενημέρωσης ταυτίζεται με την υπογραφή της εγκατεστημένης εφαρμογής. Επιτρέποντας στην Google να διαχειρίζεται το κλειδί υπογραφής εφαρμογής, αυτή η διαδικασία γίνεται πιο ασφαλής.
Σημείωση: Για εφαρμογές που δημιουργήθηκαν πριν από τον Αύγουστο του 2021, μπορείτε ακόμη να ανεβάζετε ένα APK και να διαχειρίζεστε τα δικά σας κλειδιά αντί να χρησιμοποιείτε την Υπογραφή εφαρμογής Play και να τις δημοσιεύετε με ένα Αρχείο Android App Bundle. Ωστόσο, εάν ο χώρος αποθήκευσης κλειδιών (keystore) χαθεί ή παραβιαστεί, δεν θα μπορείτε να ενημερώσετε την εφαρμογή σας χωρίς να δημοσιεύσετε μια νέα εφαρμογή με ένα νέο όνομα πακέτου. Για αυτές τις εφαρμογές, το Play συνιστά τη χρήση της Υπογραφής εφαρμογής Play και των πακέτων εφαρμογών.
Περιγραφές κλειδιών, τεχνουργημάτων και εργαλείωνΌρος | Περιγραφή |
---|---|
Κλειδί υπογραφής εφαρμογής |
Το κλειδί που χρησιμοποιεί το Google Play για την υπογραφή των APK που παραδίδονται στη συσκευή ενός χρήστη. Όταν χρησιμοποιείτε την Υπογραφή εφαρμογής Play, μπορείτε είτε να ανεβάσετε ένα υπάρχον κλειδί υπογραφής εφαρμογής είτε να επιτρέψετε στην Google να δημιουργήσει ένα για εσάς. Κρατήστε μυστικό το κλειδί υπογραφής εφαρμογής. Μπορείτε, ωστόσο, να κοινοποιείτε το δημόσιο πιστοποιητικό της εφαρμογής σας σε τρίτους. |
Κλειδί μεταφόρτωσης |
Το κλειδί που χρησιμοποιείτε για να υπογράψετε το πακέτο εφαρμογής πριν το ανεβάσετε στο Google Play. Κρατήστε μυστικό το κλειδί μεταφόρτωσης. Μπορείτε, ωστόσο, να κοινοποιείτε το δημόσιο πιστοποιητικό της εφαρμογής σας σε τρίτους. Για λόγους ασφαλείας, φροντίστε το κλειδί υπογραφής εφαρμογής και το κλειδί μεταφόρτωσης να διαφέρουν μεταξύ τους. Υπάρχουν δύο τρόποι για να δημιουργήσετε ένα κλειδί μεταφόρτωσης:
|
Πιστοποιητικό (.der ή .pem ) |
Ένα πιστοποιητικό περιέχει ένα δημόσιο κλειδί και πρόσθετες πληροφορίες ταυτοποίησης σχετικά με τον κάτοχο του κλειδιού. Το πιστοποιητικό δημόσιου κλειδιού επιτρέπει σε οποιονδήποτε να επαληθεύσει ποιος υπέγραψε το πακέτο εφαρμογής ή το APK και μπορείτε να το μοιραστείτε με οποιονδήποτε καθώς δεν περιλαμβάνει το ιδιωτικό κλειδί σας. Για να εγγράψετε τα κλειδιά σας στους παρόχους API, μπορείτε να κατεβάσετε το δημόσιο πιστοποιητικό για το κλειδί υπογραφής εφαρμογής και το κλειδί μεταφόρτωσης από τη σελίδα Υπογραφή εφαρμογής Play (Κυκλοφορία > Ρύθμιση > Υπογραφή εφαρμογής) του Play Console. Μπορείτε να κοινοποιήσετε το πιστοποιητικό δημόσιου κλειδιού σε οποιονδήποτε. Δεν περιλαμβάνει το ιδιωτικό κλειδί σας. |
Μοναδικό χαρακτηριστικό πιστοποιητικού |
Μια σύντομη και μοναδική αναπαράσταση ενός πιστοποιητικού που συχνά ζητείται από τους παρόχους API μαζί με το όνομα του πακέτου για την εγγραφή μιας εφαρμογής, ώστε να είναι δυνατή η χρήση της υπηρεσίας τους. Μπορείτε να βρείτε τα μοναδικά χαρακτηριστικά MD5, SHA-1 και SHA-256 των πιστοποιητικών μεταφόρτωσης και υπογραφής εφαρμογής στη σελίδα Υπογραφή εφαρμογής Play (Κυκλοφορία > Ρύθμιση > Υπογραφή εφαρμογής) του Play Console. Άλλα μοναδικά χαρακτηριστικά μπορούν επίσης να υπολογιστούν με τη λήψη του πρωτότυπου πιστοποιητικού ( |
Java Keystore (.jks ή .keystore ) |
Ένας χώρος φύλαξης πιστοποιητικών ασφαλείας και ιδιωτικών κλειδιών. |
Εργαλείο Play Encrypt Private Key (PEPK) |
Ένα εργαλείο για την εξαγωγή ιδιωτικών κλειδιών από ένα Java Keystore και την κρυπτογράφησή τους για μεταφορά στο Google Play. Κατά την παροχή του κλειδιού υπογραφής εφαρμογής για χρήση από το Google, ορίστε την επιλογή για εξαγωγή και μεταφόρτωση του κλειδιού σας (και του δημόσιου πιστοποιητικού του, εάν απαιτείται) και ακολουθήστε τις οδηγίες για τη λήψη και τη χρήση του εργαλείου. Αν προτιμάτε, μπορείτε να κατεβάσετε, να ελέγξετε και να χρησιμοποιήσετε τον κώδικα του λογισμικού ανοιχτού κώδικα του εργαλείου PEPK. |
Αυτή η διαδικασία λειτουργεί ως εξής:
- Υπογράψτε το πακέτο εφαρμογής και ανεβάστε το στο Play Console.
- Η Google δημιουργεί βελτιστοποιημένα APK από το πακέτο εφαρμογής σας και τα υπογράφει με το κλειδί υπογραφής εφαρμογής.
- Η Google χρησιμοποιεί το apksigner για να προσθέσει δύο σφραγίδες στο μανιφέστο της εφαρμογής σας (
com.android.stamp.source
καιcom.android.stamp.type
) και έπειτα υπογράφει τα APK με το κλειδί υπογραφής εφαρμογής. Οι σφραγίδες που προσθέτει το apksigner επιτρέπουν την ανίχνευση του υπογράφοντα των APK. - Η Google παρέχει στους χρήστες υπογεγραμμένα APK.
Ρύθμιση και διαχείριση της Υπογραφής εφαρμογής Play
Εάν η εφαρμογή σας δεν χρησιμοποιεί ακόμα την Υπογραφή εφαρμογής Play, ακολουθήστε τις παρακάτω οδηγίες.
Βήμα 1: Δημιουργία κλειδιού μεταφόρτωσης
- Ακολουθήστε αυτές τις οδηγίες και δημιουργήστε ένα κλειδί μεταφόρτωσης.
- Υπογράψτε το πακέτο εφαρμογής με το κλειδί μεταφόρτωσης.
Βήμα 2: Προετοιμασία της κυκλοφορίας σας
- Ακολουθήστε τις οδηγίες για να προετοιμάσετε και να διαθέσετε την κυκλοφορία σας.
- Αφού επιλέξετε ένα κανάλι κυκλοφορίας, η ενότητα Ακεραιότητα εφαρμογής προβάλλει την κατάσταση της Υπογραφής εφαρμογής Play για την εφαρμογή σας.
- Για να συνεχίσετε με ένα κλειδί υπογραφής εφαρμογής που έχει δημιουργηθεί από την Google, ανεβάστε το πακέτο εφαρμογής. Εναλλακτικά, μπορείτε να επιλέξετε Αλλαγή κλειδιού υπογραφής εφαρμογής για να αποκτήσετε πρόσβαση στις ακόλουθες επιλογές:
- Χρήση κλειδιού υπογραφής εφαρμογής που δημιουργήθηκε από την Google: Πάνω από το 90% των νέων εφαρμογών χρησιμοποιούν κλειδιά υπογραφής εφαρμογής που δημιουργήθηκαν από την Google. Η χρήση ενός κλειδιού που έχει δημιουργηθεί από την Google παρέχει προστασία έναντι της απώλειας και της παραβίασης (δεν υπάρχει δυνατότητα λήψης του κλειδιού). Εάν ορίσετε αυτήν την επιλογή, μπορείτε να κατεβάσετε APK διανομής από τον Εξερευνητή πακέτου εφαρμογής τα οποία έχουν υπογραφεί με κλειδί που δημιουργήθηκε από την Google για άλλα κανάλια διανομής ή να χρησιμοποιήσετε διαφορετικό κλειδί για αυτά.
- Χρήση διαφορετικού κλειδιού υπογραφής εφαρμογής: Εάν επιλέξετε το κλειδί υπογραφής εφαρμογής, μπορείτε να χρησιμοποιήσετε το ίδιο κλειδί σε άλλη εφαρμογή στον λογαριασμό σας προγραμματιστή ή να διατηρήσετε ένα τοπικό αντίγραφο του κλειδιού υπογραφής εφαρμογής για μεγαλύτερη ευελιξία. Για παράδειγμα, μπορεί να έχετε ήδη αποφασίσει ποιο θα είναι το κλειδί επειδή η εφαρμογή σας είναι προεγκατεστημένη σε ορισμένες συσκευές. Όταν διατηρείτε αντίγραφο του κλειδιού εκτός των διακομιστών της Google, διατρέχετε μεγαλύτερο κίνδυνο στην περίπτωση που το τοπικό αντίγραφο παραβιαστεί. Έχετε τις παρακάτω επιλογές σχετικά με τον τρόπο χρήσης διαφορετικού κλειδιού:
- Χρήση του ίδιου κλειδιού υπογραφής εφαρμογής με μια άλλη εφαρμογή σε αυτόν τον λογαριασμό προγραμματιστή
- Εξαγωγή και μεταφόρτωση κλειδιού από χώρο αποθήκευσης κλειδιών (keystore) Java
- Εξαγωγή και μεταφόρτωση κλειδιού (χωρίς τη χρήση χώρου αποθήκευσης κλειδιών (keystore) Java).
- Εξαιρεθείτε από την Υπογραφή εφαρμογής Play (θα πρέπει να ορίσετε αυτήν την επιλογή μόνο εάν σκοπεύετε να αναβαθμίσετε το κλειδί υπογραφής εφαρμογής σας για να εγγραφείτε στην Υπογραφή εφαρμογής Play).
- Διαβάστε τις υπόλοιπες οδηγίες για να προετοιμάσετε και να διαθέσετε την κυκλοφορία σας.
Σημείωση: Για να συνεχίσετε, πρέπει να αποδεχτείτε τους Όρους Παροχής Υπηρεσιών και να δηλώσετε συμμετοχή στην υπογραφή εφαρμογής.
Βήμα 3: Εγγράψτε το κλειδί υπογραφής εφαρμογής στους παρόχους API
Εάν η εφαρμογή σας χρησιμοποιεί API, συνήθως απαιτείται η εγγραφή του κλειδιού υπογραφής εφαρμογής στους παρόχους για λόγους ελέγχου ταυτότητας με τη χρήση του μοναδικού χαρακτηριστικού του πιστοποιητικού. Μπορείτε να βρείτε το πιστοποιητικό εδώ:
- Ανοίξτε το Play Console και μεταβείτε στη σελίδα Υπογραφή εφαρμογής Play (Κυκλοφορία > Ρύθμιση > Υπογραφή εφαρμογής).
- Συμβουλή: Μπορείτε επίσης να αποκτήσετε πρόσβαση σε αυτήν τη σελίδα μέσω της σελίδας Ακεραιότητα εφαρμογής (Κυκλοφορία > Ακεραιότητα εφαρμογής ), η οποία περιέχει υπηρεσίες ακεραιότητας και υπογραφής που σας βοηθούν να διασφαλίσετε ότι οι χρήστες απολαμβάνουν τις εφαρμογές και τα παιχνίδια σας με τον τρόπο που θέλετε.
- Μεταβείτε στην ενότητα Πιστοποιητικό κλειδιού υπογραφής εφαρμογής και έπειτα αντιγράψτε τα μοναδικά χαρακτηριστικά (MD5, SHA-1 και SHA-256) του πιστοποιητικού υπογραφής εφαρμογής.
- Εάν ο πάροχος API απαιτεί διαφορετικό τύπο μοναδικού χαρακτηριστικού, μπορείτε επίσης να κατεβάσετε το αρχικό πιστοποιητικό σε μορφή
.der
και να το μετατρέψετε χρησιμοποιώντας τα εργαλεία μετασχηματισμού που απαιτεί ο πάροχος API.
- Εάν ο πάροχος API απαιτεί διαφορετικό τύπο μοναδικού χαρακτηριστικού, μπορείτε επίσης να κατεβάσετε το αρχικό πιστοποιητικό σε μορφή
Όταν χρησιμοποιείτε ένα κλειδί που έχει δημιουργηθεί από την Google, η Google δημιουργεί αυτόματα ένα κλειδί RSA με ισχυρή κρυπτογράφηση, το οποίο είναι 4096 bit. Εάν επιλέξετε να ανεβάσετε το δικό σας κλειδί υπογραφής εφαρμογής, θα πρέπει να είναι ένα κλειδί RSA 2048 bit ή μεγαλύτερο.
Βήμα 1: Διαμόρφωση Yπογραφής εφαρμογής Play
- Ανοίξτε το Play Console και μεταβείτε στη σελίδα Υπογραφή εφαρμογής Play (Κυκλοφορία > Ρύθμιση > Υπογραφή εφαρμογής).
- Συμβουλή: Μπορείτε επίσης να αποκτήσετε πρόσβαση σε αυτήν τη σελίδα μέσω της σελίδας Ακεραιότητα εφαρμογής (Κυκλοφορία > Ακεραιότητα εφαρμογής ), η οποία περιέχει υπηρεσίες ακεραιότητας και υπογραφής που σας βοηθούν να διασφαλίσετε ότι οι χρήστες απολαμβάνουν τις εφαρμογές και τα παιχνίδια σας με τον τρόπο που θέλετε.
- Εάν δεν το έχετε κάνει ήδη, διαβάστε τους Όρους Παροχής Υπηρεσιών της Υπογραφής εφαρμογής Play και επιλέξτε Αποδοχή.
Βήμα 2: Στείλτε ένα αντίγραφο του αρχικού κλειδιού στην Google και δημιουργήστε ένα κλειδί μεταφόρτωσης
- Εντοπίστε το αρχικό κλειδί υπογραφής εφαρμογής.
- Ανοίξτε το Play Console και μεταβείτε στη σελίδα Υπογραφή εφαρμογής Play (Κυκλοφορία > Ρύθμιση > Υπογραφή εφαρμογής).
- Ορίστε την επιλογή εξαγωγής και μεταφόρτωσης που ταιριάζει καλύτερα στη διαδικασία κυκλοφορίας σας και ανεβάστε ένα υπάρχον κλειδί υπογραφής εφαρμογής.
Βήμα 3: Δημιουργήστε ένα κλειδί μεταφόρτωσης (προαιρετικό - συνιστάται)
- Δημιουργήστε ένα κλειδί μεταφόρτωσης και ανεβάστε το πιστοποιητικό στο Google Play.
- Μπορείτε επίσης να συνεχίσετε να χρησιμοποιείτε το κλειδί υπογραφής εφαρμογής ως κλειδί μεταφόρτωσης.
- Αντιγράψτε τα μοναδικά χαρακτηριστικά (MD5, SHA-1 και SHA-256) του πιστοποιητικού υπογραφής εφαρμογής.
- Για δοκιμαστικούς λόγους, ίσως χρειαστεί να εγγράψετε στους παρόχους API το πιστοποιητικό του κλειδιού μεταφόρτωσής σας, χρησιμοποιώντας το μοναδικό χαρακτηριστικό του πιστοποιητικού και το κλειδί υπογραφής εφαρμογής.
Βήμα 4: Υπογράψτε την επόμενη ενημέρωση εφαρμογής με το κλειδί μεταφόρτωσης
Όταν κυκλοφορείτε ενημερώσεις για την εφαρμογή σας, πρέπει να τις υπογράφετε με το κλειδί μεταφόρτωσής σας.
- Εάν δεν δημιουργήσατε νέο κλειδί μεταφόρτωσης: Συνεχίστε να χρησιμοποιείτε το αρχικό κλειδί υπογραφής εφαρμογής για την πακέτων εφαρμογών, πριν τη μεταφόρτωσή τους στο Google Play. Σε περίπτωση που χάσετε το αρχικό κλειδί υπογραφής εφαρμογής, μπορείτε να δημιουργήσετε ένα νέο κλειδί μεταφόρτωσης και να το εγγράψετε στην Google για να συνεχίσετε να ενημερώνετε την εφαρμογή σας.
- Εάν δημιουργήσατε ένα νέο κλειδί μεταφόρτωσης: Χρησιμοποιήστε το νέο κλειδί μεταφόρτωσης για να υπογράψετε πακέτα εφαρμογών πριν τα ανεβάσετε στο Google Play. Η Google χρησιμοποιεί το κλειδί μεταφόρτωσης για να επαληθεύσει την ταυτότητά σας. Αν χάσετε το κλειδί μεταφόρτωσης, μπορείτε να επικοινωνήσετε με την υποστήριξη για να το επαναφέρετε.
Αυτό είναι κάτι που μπορείτε να κάνετε αν δεν έχετε τη δυνατότητα κοινοποίησης του υπάρχοντος κλειδιού σας. Προτού αναβαθμίσετε το κλειδί υπογραφής εφαρμογής σας για να εγγραφείτε, λάβετε υπόψη τα εξής:
- Αυτή η επιλογή απαιτεί διπλή κυκλοφορία.
- Θα χρειαστεί να ανεβάσετε ένα πακέτο εφαρμογής και ένα APK υπογεγραμμένο με το κλειδί παλαιού τύπου σε κάθε κυκλοφορία. Το Google Play θα χρησιμοποιήσει τα πακέτα εφαρμογών σας για τη δημιουργία APK υπογεγραμμένων με το νέο κλειδί για συσκευές με Android R* (επίπεδο API 30) ή μεταγενέστερη έκδοση. Τα APK παλαιού τύπου θα χρησιμοποιούνται για παλαιότερες κυκλοφορίες Android (έως το επίπεδο API 29).
*Εάν η εφαρμογή σας χρησιμοποιεί το sharedUserId, συνιστάται να εφαρμόσετε μια αναβάθμιση κλειδιού για εγκαταστάσεις και ενημερώσεις σε συσκευές που εκτελούν Android T (επίπεδο API 33) ή νεότερη έκδοση. Για να διαμορφώσετε αυτήν την ενέργεια, ορίστε μια ακριβή ελάχιστη έκδοση SDK στη διαμόρφωση πακέτου.
Βήμα 1: Ανεβάστε το νέο κλειδί και έπειτα δημιουργήστε και ανεβάστε το αποδεικτικό εναλλαγής
Για να θεωρηθεί αξιόπιστο το νέο κλειδί σε συσκευές Android, πρέπει να ανεβάσετε ένα νέο κλειδί υπογραφής από έναν χώρο φύλαξης και να δημιουργήσετε και να ανεβάσετε ένα αποδεικτικό εναλλαγής:
- Ανοίξτε το Play Console και μεταβείτε στη σελίδα Υπογραφή εφαρμογής Play (Κυκλοφορία > Ρύθμιση > Υπογραφή εφαρμογής).
- Συμβουλή: Μπορείτε επίσης να αποκτήσετε πρόσβαση σε αυτήν τη σελίδα μέσω της σελίδας Ακεραιότητα εφαρμογής (Κυκλοφορία > Ακεραιότητα εφαρμογής ), η οποία περιέχει υπηρεσίες ακεραιότητας και υπογραφής που σας βοηθούν να διασφαλίσετε ότι οι χρήστες απολαμβάνουν τις εφαρμογές και τα παιχνίδια σας με τον τρόπο που θέλετε.
- Επιλέξτε την καρτέλα Υπογραφή εφαρμογής.
- Κάντε κλικ στην Εμφάνιση σύνθετων επιλογών και επιλέξτε Χρήση νέου κλειδιού υπογραφής εφαρμογής (αυτό απαιτεί διπλές κυκλοφορίες σε εξέλιξη).
- Επιλέξτε να χρησιμοποιήσετε το ίδιο κλειδί υπογραφής εφαρμογής με μια άλλη εφαρμογή στον λογαριασμό προγραμματιστή σας ή να ανεβάσετε ένα νέο κλειδί υπογραφής εφαρμογής από το Android Studio, το Java KeyStore ή άλλον χώρο φύλαξης.
- Ακολουθήστε τις οδηγίες στην οθόνη, κατεβάστε και εκτελέστε το εργαλείο PEPK.
- Όταν το αρχείο ZIP είναι έτοιμο, κάντε κλικ στην επιλογή Ανεβάστε το ZIP που δημιουργήθηκε και ανεβάστε το στο Play Console.
- Δίπλα στο "5. Ανεβάστε ένα αποδεικτικό εναλλαγής προκειμένου το νέο κλειδί να θεωρείται αξιόπιστο σε συσκευές Android" κάντε κλικ στην επιλογή Εμφάνιση οδηγιών.
- Κατεβάστε το APKSigner και δημιουργήστε ένα αποδεικτικό εναλλαγής εκτελώντας την εξής εντολή:
$ apksigner rotate --out /path/to/new/file --old-signer --ks old-signer-jks --set-rollback true --new-signer --ks new-signer-jks --set-rollback true
- Κάντε κλικ στην επιλογή Μεταφόρτωση του αρχείου αποδεικτικού εναλλαγής που έχει δημιουργηθεί και ανεβάστε το αποδεικτικό εναλλαγής που δημιουργήθηκε στο βήμα 8.
- Κάντε κλικ στην Αποθήκευση.
Δημιουργήστε ένα κλειδί μεταφόρτωσης και ενημερώστε τους χώρους αποθήκευσης κλειδιών (keystore)
Για περισσότερη ασφάλεια, συνιστάται η υπογραφή της εφαρμογής σας με ένα νέο κλειδί μεταφόρτωσης, αντί του κλειδιού υπογραφής εφαρμογής.
Μπορείτε να δημιουργήσετε ένα κλειδί μεταφόρτωσης κατά τη δήλωση συμμετοχής σας στην Υπογραφή εφαρμογής Play ή να δημιουργήσετε ένα κλειδί μεταφόρτωσης αργότερα, μεταβαίνοντας στη σελίδα Υπογραφή εφαρμογής Play (Κυκλοφορία > Ρύθμιση > Υπογραφή εφαρμογής).
Δείτε πώς μπορείτε να δημιουργήσετε ένα κλειδί μεταφόρτωσης:
- Ακολουθήστε τις οδηγίες στον ιστότοπο για προγραμματιστές Android. Αποθηκεύστε το κλειδί σε ένα ασφαλές μέρος.
- Εξαγάγετε το πιστοποιητικό για το κλειδί μεταφόρτωσης σε μορφή PEM. Αντικαταστήστε τα παρακάτω υπογραμμισμένα ορίσματα:
$ keytool -export -rfc -keystore upload-keystore.jks -alias upload -file upload_certificate.pem
-
Ανεβάστε το πιστοποιητικό για να το εγγράψετε στην Google όταν σας ζητηθεί κατά τη διάρκεια της διαδικασίας κυκλοφορίας.
Όταν χρησιμοποιείτε ένα κλειδί μεταφόρτωσης:
- Το κλειδί μεταφόρτωσης εγγράφεται μόνο στην Google για τον έλεγχο της ταυτότητας του δημιουργού της εφαρμογής.
- Η υπογραφή σας καταργείται από τυχόν μεταφορτωμένα APK, προτού αποσταλούν στους χρήστες.
- Πρέπει να είναι κλειδί RSA 2048 bit ή μεγαλύτερο.
Αφού δημιουργήσετε ένα κλειδί μεταφόρτωσης, ορισμένα μέρη που ίσως θέλετε να ελέγξετε και να ενημερώσετε είναι τα εξής:
- Τοπικές μηχανές
- Εσωτερικό κλειδωμένο διακομιστή (τα ACL ποικίλουν)
- Μηχάνημα στο cloud (τα ACL ποικίλουν)
- Αποκλειστικές υπηρεσίες διαχείρισης μυστικών
- Χώροι φύλαξης (Git)
Αναβαθμίστε το κλειδί υπογραφής εφαρμογής σας
Σε ορισμένες περιπτώσεις, μπορείτε να ζητήσετε μια αναβάθμιση του κλειδιού υπογραφής εφαρμογής.
Ακολουθούν ορισμένοι λόγοι για τους οποίους μπορείτε να ζητήσετε την αναβάθμιση του κλειδιού υπογραφής εφαρμογής:
- Χρειάζεστε κλειδί με ισχυρότερη κρυπτογράφηση.
- Το κλειδί υπογραφής εφαρμογής σας έχει παραβιαστεί.
Σημαντικό: Οι αναβαθμίσεις κλειδιών υποστηρίζονται μόνο για εφαρμογές που χρησιμοποιούν πακέτα εφαρμογών.
Πριν υποβάλετε αίτημα για αναβάθμιση κλειδιού στο Play Console, διαβάστε την παρακάτω ενότητα Σημαντικοί παράγοντες προτού ζητήσετε αναβάθμιση κλειδιού. Στη συνέχεια, μπορείτε να αναπτύξετε τις υπόλοιπες ενότητες παρακάτω για να μάθετε περισσότερα σχετικά με το αίτημα αναβάθμισης κλειδιού.
Σημαντικοί παράγοντες προτού ζητήσετε αναβάθμιση κλειδιούΠριν ζητήσετε μια αναβάθμιση κλειδιού, είναι σημαντικό να κατανοήσετε τις αλλαγές που μπορεί να χρειαστεί να κάνετε μετά την ολοκλήρωση της αναβάθμισης.
- Εάν χρησιμοποιείτε το ίδιο κλειδί υπογραφής εφαρμογής σε πολλές εφαρμογές για κοινή χρήση δεδομένων/κώδικα μεταξύ τους, θα πρέπει να ενημερώσετε τις εφαρμογές σας ώστε να αναγνωρίζουν τόσο τα νέα πιστοποιητικά κλειδιού υπογραφής εφαρμογής όσο και τα πιστοποιητικά παλαιού τύπου. Σε συσκευές με Android S (επίπεδο API 32) ή παλαιότερες εκδόσεις, μόνο το πιστοποιητικό κλειδιού υπογραφής εφαρμογής παλαιού τύπου αναγνωρίζεται από την πλατφόρμα Android με σκοπό την κοινοποίηση δεδομένων/κώδικα.
- Εάν η εφαρμογή σας χρησιμοποιεί API, φροντίστε να εγγράψετε τα πιστοποιητικά για το νέο κλειδί υπογραφής εφαρμογής και το κλειδί υπογραφής εφαρμογής παλαιού τύπου στους παρόχους API πριν από τη δημοσίευση μιας ενημέρωσης, για να διασφαλίσετε ότι τα API θα εξακολουθούν να λειτουργούν. Τα πιστοποιητικά είναι διαθέσιμα στη σελίδα Υπογραφή εφαρμογής Play (Κυκλοφορία > Ρύθμιση > Υπογραφή εφαρμογής) του Play Console.
- Εάν κάποιοι από τους χρήστες σας εγκαθιστούν ενημερώσεις μέσω ομότιμης κοινής χρήσης, θα μπορούν να εγκαθιστούν μόνο ενημερώσεις που είναι υπογεγραμμένες με το ίδιο κλειδί με την έκδοση της εφαρμογής που έχουν εγκαταστήσει ήδη. Εάν δεν μπορούν να ενημερώσουν την εφαρμογή επειδή διαθέτουν μια έκδοση της εφαρμογής που έχει υπογραφεί με διαφορετικό κλειδί, έχουν την επιλογή να απεγκαταστήσουν και να επανεγκαταστήσουν την εφαρμογή για να αποκτήσουν την ενημέρωση.
Για κάθε εφαρμογή είναι δυνατή η αναβάθμιση του κλειδιού υπογραφής εφαρμογής για όλες τις εγκαταστάσεις σε Android N (επίπεδο API 24) και νεότερες εκδόσεις, μία φορά κάθε έτος.
Εάν ζητήσετε επιτυχώς αυτή την αναβάθμιση κλειδιού, το νέο κλειδί θα χρησιμοποιηθεί για την υπογραφή όλων των εγκαταστάσεων και ενημερώσεων εφαρμογών. Σε συσκευές με Android T (επίπεδο API 33) και νεότερες εκδόσεις, η πλατφόρμα Android επιβάλλει τη χρήση του αναβαθμισμένου κλειδιού. Σε συσκευές με Android S (επίπεδο API 32) ή παλαιότερες εκδόσεις, η πλατφόρμα Android δεν επιβάλλει τη χρήση αυτού του αναβαθμισμένου κλειδιού και εξακολουθεί να αναγνωρίζει το κλειδί υπογραφής παλαιού τύπου ως το κλειδί υπογραφής της εφαρμογής. Αυτό περιλαμβάνει επίσης τυχόν λειτουργίες πλατφόρμας Android (για παράδειγμα, κοινοποίηση προσαρμοσμένων αδειών) που βασίζονται στο κλειδί υπογραφής της εφαρμογής. Σε συσκευές με Android N (επίπεδο API 24) έως Android S (επίπεδο API 32), το Google Play Protect θα ελέγχει αν οι ενημερώσεις εφαρμογών έχουν υπογραφεί με το αναβαθμισμένο κλειδί, εκτός εάν η λειτουργία έχει απενεργοποιηθεί από τον χρήστη. Αυτό παρέχει μια πρόσθετη επικύρωση, καθώς η πλατφόρμα Android δεν επιβάλλει τη χρήση του αναβαθμισμένου κλειδιού σε συσκευές με Android S (επίπεδο API 32) ή παλαιότερες εκδόσεις.
- Ανοίξτε το Play Console και μεταβείτε στη σελίδα Υπογραφή εφαρμογής Play (Κυκλοφορία > Ρύθμιση > Υπογραφή εφαρμογής).
- Συμβουλή: Μπορείτε επίσης να αποκτήσετε πρόσβαση σε αυτήν τη σελίδα μέσω της σελίδας Ακεραιότητα εφαρμογής (Κυκλοφορία > Ακεραιότητα εφαρμογής ), η οποία περιέχει υπηρεσίες ακεραιότητας και υπογραφής που σας βοηθούν να διασφαλίσετε ότι οι χρήστες απολαμβάνουν τις εφαρμογές και τα παιχνίδια σας με τον τρόπο που θέλετε.
- Στην κάρτα Αναβαθμίστε το κλειδί υπογραφής εφαρμογής σας, επιλέξτε Αίτημα αναβάθμισης κλειδιού.
- Ορίστε την επιλογή για αναβάθμιση του κλειδιού υπογραφής εφαρμογής σε όλες τις εγκαταστάσεις σε Android N και νεότερες εκδόσεις.
- Ζητήστε από την Google να δημιουργήσει ένα νέο κλειδί υπογραφής εφαρμογής (συνιστάται) ή ανεβάστε ένα νέο.
- Μετά την αναβάθμιση του κλειδιού υπογραφής εφαρμογής, εάν χρησιμοποιούσατε το ίδιο κλειδί ως κλειδί υπογραφής εφαρμογής και κλειδί μεταφόρτωσης, μπορείτε να συνεχίσετε να χρησιμοποιείτε το κλειδί υπογραφής εφαρμογής παλαιού τύπου ως κλειδί μεταφόρτωσης ή να δημιουργήσετε ένα νέο κλειδί μεταφόρτωσης.
- Επιλέξτε έναν λόγο για την υποβολή αιτήματος αναβάθμισης κλειδιού υπογραφής εφαρμογής.
- Εάν είναι απαραίτητο, εγγράψτε το νέο κλειδί υπογραφής εφαρμογής στους παρόχους API.
Συμβουλή: Εάν διανέμετε την εφαρμογή σας σε πολλά κανάλια διανομής και θέλετε να μεγιστοποιήσετε τη συμβατότητα της ενημέρωσης της εφαρμογής για τους χρήστες σας, θα πρέπει να αναβαθμίσετε το κλειδί σας σε κάθε κανάλι διανομής. Για συμβατότητα με την αναβάθμιση κλειδιού του Google Play, χρησιμοποιήστε το εργαλείο ApkSigner, το οποίο παρέχεται με το Android SDK Build Tools (έκδοση 33.0.1+):
$ apksigner sign --in ${INPUT_APK}
--out ${OUTPUT_APK}
--ks ${ORIGINAL_KEYSTORE}
--ks-key-alias ${ORIGINAL_KEY_ALIAS}
--next-signer --ks ${UPGRADED_KEYSTORE}
--ks-key-alias ${UPGRADED_KEY_ALIAS}
--lineage ${LINEAGE}
Μάθετε περισσότερα σχετικά με τον τρόπο λειτουργίας των ενημερώσεων εφαρμογών.
Βέλτιστες πρακτικές
- Εάν επίσης διανέμετε ή σκοπεύετε να διανείμετε αργότερα την εφαρμογή σας εκτός του Google Play και θέλετε να χρησιμοποιήσετε το ίδιο κλειδί υπογραφής, έχετε δύο επιλογές:
- Επιτρέψτε στην Google να δημιουργήσει το κλειδί (συνιστάται) και έπειτα κατεβάστε ένα υπογεγραμμένο, καθολικό APK από τον Εξερευνητή πακέτου εφαρμογής για διανομή εκτός του Google Play.
- Εναλλακτικά, μπορείτε να δημιουργήσετε το κλειδί υπογραφής εφαρμογής που θέλετε να χρησιμοποιήσετε για κάθε app store και έπειτα να μεταφέρετε ένα αντίγραφό του στην Google κατά τη διαμόρφωση της Υπογραφής εφαρμογής Play.
- Για να προστατεύσετε τον λογαριασμό σας, ενεργοποιήστε την Επαλήθευση σε 2 βήματα για λογαριασμούς που έχουν πρόσβαση στο Play Console.
- Αφού δημοσιεύσετε ένα πακέτο εφαρμογής σε ένα κανάλι κυκλοφορίας, μπορείτε να επισκεφτείτε τον Εξερευνητή πακέτου εφαρμογής για να αποκτήσετε πρόσβαση σε APK με δυνατότητα εγκατάστασης που δημιουργεί η Google από το πακέτο εφαρμογής σας. Μπορείτε να κάνετε τα εξής:
- Να αντιγράψετε και να κοινοποιήσετε έναν σύνδεσμο εσωτερικής κοινοποίησης εφαρμογής ο οποίος σας επιτρέπει να δοκιμάσετε, με ένα πάτημα, τα στοιχεία που θα εγκαθιστά το Google Play από το πακέτο εφαρμογής σε διαφορετικές συσκευές.
- Να κατεβάσετε ένα υπογεγραμμένο, καθολικό APK Αυτό το μεμονωμένο APK είναι υπογεγραμμένο με το κλειδί υπογραφής εφαρμογής που διατηρεί η Google και μπορεί να εγκατασταθεί σε όλες τις συσκευές που υποστηρίζει η εφαρμογή σας.
- Να κατεβάσετε ένα αρχείο ZIP με όλα τα APK για μια συγκεκριμένη συσκευή. Αυτά τα APK είναι υπογεγραμμένα με το κλειδί υπογραφής εφαρμογής που διατηρεί η Google. Μπορείτε να εγκαταστήσετε τα APK που περιέχει το αρχείο ZIP σε μια συσκευή, χρησιμοποιώντας την εντολή
adb install-multiple *.apk
.
- Για περισσότερη ασφάλεια, δημιουργήστε ένα νέο κλειδί μεταφόρτωσης που διαφέρει από το κλειδί υπογραφής εφαρμογής σας.
- Εάν χρησιμοποιείτε οποιοδήποτε API της Google, μπορείτε να εγγράψετε τα πιστοποιητικά για το κλειδί μεταφόρτωσης και το κλειδί υπογραφής εφαρμογής στο Google Cloud Console για την εφαρμογή σας.
- Εάν χρησιμοποιείτε Συνδέσμους εφαρμογών Android, φροντίστε να ενημερώσετε τα κλειδιά στο αντίστοιχο αρχείο JSON Συνδέσμων ψηφιακών στοιχείων στον ιστότοπό σας.
Απώλεια ή παραβίαση κλειδιού μεταφόρτωσης;
Εάν το ιδιωτικό κλειδί μεταφόρτωσης έχει χαθεί ή παραβιαστεί, μπορείτε να δημιουργήσετε ένα νέο κλειδί. Στη συνέχεια, ο κάτοχος του λογαριασμού προγραμματιστή σας μπορεί να ξεκινήσει την επαναφορά κλειδιού στο Play Console.
Όταν η ομάδα υποστήριξης εγγράψει το νέο κλειδί μεταφόρτωσης, ο κάτοχος του λογαριασμού και οι καθολικοί διαχειριστές θα λάβουν ένα μήνυμα στα Εισερχόμενα και ένα μήνυμα ηλεκτρονικού ταχυδρομείου με περισσότερες πληροφορίες. Στη συνέχεια, μπορείτε να ενημερώσετε τους χώρους αποθήκευσης κλειδιών (keystore) σας και να εγγράψετε το κλειδί σας σε παρόχους API.
Ο κάτοχος λογαριασμού μπορεί επίσης να ακυρώσει το αίτημα επαναφοράς στο Play Console.
Σημαντικό: Η επαναφορά του κλειδιού μεταφόρτωσης δεν επηρεάζει το κλειδί υπογραφής εφαρμογής που χρησιμοποιεί το Google Play για να υπογράψει εκ νέου τα APK πριν τα παραδώσει στους χρήστες.
Σχήμα υπογραφής APK v4
Οι συσκευές με Android 11 και νεότερες εκδόσεις υποστηρίζουν το νέο σχήμα υπογραφής APK v4. Η Υπογραφή εφαρμογής Play χρησιμοποιεί την υπογραφή v4 για κατάλληλες εφαρμογές, προκειμένου να τους επιτρέψει να αποκτήσουν πρόσβαση σε βελτιστοποιημένες λειτουργίες διανομής που διατίθενται σε νεότερες συσκευές. Δεν απαιτείται ενέργεια από τους προγραμματιστές και δεν αναμένεται αντίκτυπος για τους χρήστες από την υπογραφή v4.
Σχετικό περιεχόμενο
- Μάθετε σχετικά με τις υπηρεσίες ακεραιότητας και υπογραφής στο Play Console
- Μάθετε σχετικά με τις υπηρεσίες ακεραιότητας και υπογραφής στον ιστότοπο Προγραμματιστές Android