Richtige Möglichkeit, das Distributionszertifikat für iOS zu erneuern

303

Mein Vertriebszertifikat läuft am 7. Juni zusammen mit allen meinen Bereitstellungsdateien ab. Wie erneuere ich es richtig? Soll ich es jetzt widerrufen und ein neues anfordern? Wenn ich das mache, werden dann alle meine Live-Apps heruntergefahren?

user1413558
quelle
7
Aus irgendeinem Grund erhielt ich eine Benachrichtigung über diese Antwort, nachdem ich dieses Konto jahrelang nicht verwendet hatte. Bin (noch) nicht tot. Ich möchte mich auch nur bei allen bei StackOverflow im Laufe der Jahre dafür bedanken, dass sie mir geholfen haben. Ich habe diese Frage geschrieben, als ich 14 war (jetzt 21). Seitdem habe ich immer wieder iOS-Apps entwickelt und werde bald eine Vollzeitstelle bei Apple antreten (mein Traum, solange ich mich erinnern kann). Nochmals vielen Dank an alle, die dabei geholfen haben!
user1413558
tolle Geschichte! Ja, die Jahre vergehen! Sie können sich nicht einmal vorstellen, wie die Programmierung vor der Online-Qualitätssicherung durchgeführt wurde. Prost
Fattie
@ Fattie Warum die Warnung? Abgesehen von kleinen Änderungen an der Benutzeroberfläche auf Apples Seiten ist die akzeptierte Antwort immer noch korrekt. Nicht alles wird automatisch falsch, nur weil es alt ist.
Theo
hi @Theo, ich denke, es gab eine lange Diskussion (jetzt gelöscht), daher macht mein Kommentar (ich habe ihn gerade gelöscht!) keinen besonderen Sinn, danke für den Hinweis. Beachten Sie, dass in diesem speziellen Fall die 5 Jahre alte angekreuzte Antwort falsche Informationen enthält, wie z. B. SLBarth erklärt.
Fattie

Antworten:

357

Ihre Live-Apps werden nicht heruntergefahren. Nichts passiert mit irgendetwas, das live im App Store ist.

Sobald sie offiziell ablaufen, ist das einzige, was davon betroffen ist, Ihre Fähigkeit, Code zu signieren (und somit neue Builds zu erstellen und Updates bereitzustellen).

Wenn Ihr Verteilungszertifikat abläuft, verschwindet es einfach aus dem Abschnitt "Zertifikate, Kennung und Profile" des Mitgliedercenters. Wenn Sie es vor Ablauf erneuern möchten, widerrufen Sie das aktuelle Zertifikat, und Sie erhalten eine Schaltfläche zum Anfordern eines neuen Zertifikats.

Machen Sie sich vor dem Ablauf keine Sorgen um das Bereitstellungsprofil, sondern verwenden Sie es einfach weiter. Es ist einfach genug, es zu erneuern, sobald es abläuft.

Sie können beruhigt davon ausgehen, dass Ihrer Live-App im Store nichts passiert.

Andy Obusek
quelle
7
Danke, sie sind heute abgelaufen. Erneuerte sie ohne Probleme.
user1413558
30
Nur ein Fyi für andere Leute. Ich habe ein für die Unternehmensverteilung verwendetes Zertifikat widerrufen und NICHT die Option erhalten, das Zertifikat zu erneuern. Es war einfach weg. Die App war nicht verfügbar (nicht installierbar), bis ich sie mit dem neuen Zertifikat neu erstellt habe.
Foldlettuce
34
Hey, widerrufe dein internes Zertifikat nicht !! Ihre internen Apps funktionieren nach einem Neustart / 3 Tagen nicht, es sei denn, Sie können alle Ihre Apps in diesem Zeitraum aktualisieren. Mit Apple können Sie zwei interne Apps erstellen, damit diese sich überschneiden können, und anschließend Ihre neuen Apps damit aktualisieren. Widerrufen Sie es nicht. Sie können nur das App-Store-Zertifikat widerrufen, ohne vorhandene Apps zu stoppen.
mskw
13
Genau genommen können Sie keine Zertifikate erneuern , sondern müssen neue generieren - siehe developer.apple.com/library/ios/#documentation/IDEs/Conceptual/…
mklement0
2
Aktualisierter Link zu den Dokumenten von Apple zu diesem Thema: developer.apple.com/library/ios/documentation/IDEs/Conceptual/…
qix
348

Wenn Ihr Zertifikat abläuft, verschwindet es einfach aus dem Abschnitt "Zertifikate, Kennung und Profile" des Member Centers. Es gibt keine Schaltfläche "Erneuern", mit der Sie Ihr Zertifikat erneuern können. Sie können ein Zertifikat widerrufen und ein neues generieren, bevor es abläuft . Oder Sie können warten, bis es abläuft und verschwindet, und dann ein neues Zertifikat erstellen. Im App Distribution Guide von Apple :

Abgelaufene Zertifikate ersetzen

Wenn Ihr Entwicklungs- oder Vertriebszertifikat abläuft, entfernen Sie es und fordern Sie ein neues Zertifikat in Xcode an.

Wenn Ihr Zertifikat abläuft oder widerrufen wird, wird jedes Bereitstellungsprofil, das das abgelaufene / widerrufene Zertifikat verwendet hat, als "ungültig" angezeigt. Mit diesen ungültigen Bereitstellungsprofilen können Sie keine App erstellen und signieren. Wie Sie sich vorstellen können, würde ich ein Zertifikat lieber widerrufen und neu generieren, bevor es abläuft.

F: Wenn ich das mache, werden dann alle meine Live-Apps heruntergefahren?

Apps, die sich bereits im App Store befinden, funktionieren weiterhin einwandfrei. Nochmals im App Distribution Guide von Apple :

Wichtig: Das erneute Erstellen Ihrer Entwicklungs- oder Vertriebszertifikate wirkt sich weder auf Apps aus, die Sie an den Store gesendet haben, noch auf Ihre Fähigkeit, diese zu aktualisieren.

So…

F: Wie kann ich es richtig erneuern?

Wie oben erwähnt, gibt es keine Erneuerung von Zertifikaten. Führen Sie die folgenden Schritte aus, um ein neues Zertifikat zusammen mit den betroffenen Bereitstellungsprofilen zu widerrufen und neu zu generieren. Die Anweisungen wurden für Xcode 8.3 und Xcode 9 aktualisiert.

Schritt 1: Widerrufen Sie das ablaufende Zertifikat

Melden Sie sich bei Member Center > Zertifikate, Kennungen und Profile an und wählen Sie das ablaufende Zertifikat aus. Notieren Sie sich das Ablaufdatum des Zertifikats und klicken Sie auf die Schaltfläche "Widerrufen".

Wählen Sie das ablaufende Zertifikat aus und klicken Sie auf die Schaltfläche Widerrufen

Schritt 2: (Optional) Entfernen Sie das widerrufene Zertifikat aus Ihrem Schlüsselbund

Wenn Sie nicht möchten, dass das widerrufene Zertifikat in Ihrem System herumliegt, können Sie es optional von Ihrem System löschen. Leider scheint die Funktion "Zertifikat löschen" unter Xcode> Einstellungen> Konten> [Apple ID]> Zertifikate verwalten ... immer deaktiviert zu sein. Daher müssen wir sie manuell mit Keychain Access.app (/ Applications / Utilities / Keychain Access löschen). App).

Entfernen Sie optional das widerrufene Zertifikat mit Keychain Access.app

Filtern Sie nach "Login" -Schlüsselanhängern und "Zertifikaten" -Kategorie. Suchen Sie das Zertifikat, das Sie gerade in Schritt 1 widerrufen haben.

Suchen Sie je nach dem Zertifikat, das Sie gerade widerrufen haben, nach "Mac" oder "iPhone". Mac App Store-Verteilungszertifikate beginnen mit „Mac Developer von Drittanbietern“, und iOS App Store-Verteilungszertifikate beginnen mit „iPhone Distribution“.

Sie können das widerrufene Zertifikat anhand des Teamnamens, des Zertifikatstyps (Mac oder iOS) und des Ablaufdatums des Zertifikats suchen, das Sie in Schritt 1 notiert haben.

Schritt 3: Fordern Sie mit Xcode ein neues Zertifikat an

Klicken Sie unter Xcode> Einstellungen> Konten> [Apple ID]> Zertifikate verwalten ... unten links auf die Schaltfläche '+' und wählen Sie denselben Zertifikatstyp aus, den Sie gerade widerrufen haben, damit Xcode einen neuen für Sie anfordert .

Lassen Sie Xcode unter Xcode> Einstellungen> Konten> Apple ID> Zertifikate verwalten… ein neues Zertifikat für Sie anfordern.

Schritt 4: Aktualisieren Sie Ihre Bereitstellungsprofile, um das neue Zertifikat zu verwenden

Kehren Sie anschließend zu Member Center > Zertifikate, Kennungen und Profile> Bereitstellungsprofile> Alle zurück. Sie werden feststellen, dass jedes Bereitstellungsprofil, das das widerrufene Zertifikat verwendet hat, jetzt als "ungültig" angezeigt wird.

Beachten Sie, dass jedes Bereitstellungsprofil, das das widerrufene Zertifikat verwendet hat, jetzt als "ungültig" angezeigt wird.

Klicken Sie auf ein Profil, das jetzt "ungültig" ist, klicken Sie auf "Bearbeiten", wählen Sie das neu erstellte Zertifikat aus und klicken Sie dann auf "Generieren". Wiederholen Sie diesen Vorgang, bis alle Bereitstellungsprofile mit dem neuen Zertifikat neu generiert wurden.

Wählen Sie das neu erstellte Zertifikat aus und klicken Sie auf Generieren

Schritt 5: Verwenden Sie Xcode, um die neuen Bereitstellungsprofile herunterzuladen

Trinkgeld : Bevor Sie die neuen Profile mit Xcode herunterladen, möchten Sie möglicherweise vorhandene und möglicherweise ungültige Bereitstellungsprofile von Ihrem Mac löschen. Sie können dies tun, indem Sie alle Profile aus entfernen~/Library/MobileDevice/Provisioning Profiles

Klicken Sie unter Xcode> Einstellungen> Konten> [Apple ID] auf die Schaltfläche "Alle Profile herunterladen", um Xcode aufzufordern, alle Bereitstellungsprofile von Ihrem Entwicklerkonto herunterzuladen.

Klicken Sie auf Alle Profile für Xcode herunterladen, um alle neu generierten Profile herunterzuladen

junjie
quelle
1
Hallo Junjie, danke! Ich habe dieses Problem mit Xcode 7. Was passiert mit Apps, die mit dem AdHoc-Verteilungsbereitstellungsprofil veröffentlicht wurden, wenn ich das Verteilungszertifikat widerrufe? Leben sie noch? Vielen Dank
Frade
3
@Frade laut Apple: iOS-Verteilungszertifikat (interne Apps für den internen Gebrauch), Benutzer können keine Apps mehr ausführen, die mit diesem Zertifikat signiert wurden. Sie müssen eine neue Version Ihrer App verteilen, die mit einem neuen Zertifikat signiert ist. Siehe developer.apple.com/support/certificates
Juni
Ich habe nach AdHoc gefragt, aber wahrscheinlich ist die gleiche Situation. Vielen Dank
Frade
3
@junjie Was passiert, wenn die im Store veröffentlichte App Push-Benachrichtigungsberechtigungen hat? Kann es nach Ablauf des Zertifikats weiterhin Push-Benachrichtigungen senden?
Otávio
4
@ Otávio Ihre App-Verteilungszertifikate (worum es in dieser Frage geht) sind von Ihrem APNS-Zertifikat getrennt. Das APNS-Zertifikat ist nicht Teil der App-Binärdatei. Sie können Ihr APNS-Zertifikat widerrufen / erneuern, ohne Ihre App-Binärdatei zu aktualisieren. Es ist Ihr Push-Server, der das APNS-Zertifikat benötigt.
Juni
21

Stand Januar 2020 und Xcode 11.3.1 -

  • Öffnen Sie Xcode
  • Öffnen Sie die Xcode-Einstellungen (Xcode-> Einstellungen oder Cmd-,)
  • Klicken Sie auf Konten
  • Klicken Sie links auf Ihre Entwickler-ID
  • Klicken Sie unten rechts auf Zertifikate verwalten ...
  • Klicken Sie in der unteren linken Ecke auf den Pfeil rechts neben dem + (Plus).
  • Wählen Sie Apple Distribution aus dem Menü

Xcode erstellt automatisch ein Apple Distribution-Zertifikat, installiert es in Keychain Access und aktualisiert die Signaturinformationen von Xcode

(Hinweis: Das einzelne Apple Distribution- Zertifikat wird jetzt anstelle des vorherigen iOS Distribution- Zertifikats und der entsprechenden Entsprechungen bereitgestellt .)

Leanne
quelle
neugierig: Ich habe meine Mail von Apple erhalten, um das iOS-Vertriebszertifikat zu erneuern. Keine Informationen, dass ich stattdessen ein Apple Distribution-Zertifikat erstellen sollte.
ekkescorner
In der E-Mail wird es nicht erwähnt, @ekkescorner. Es ist in den Dokumenten online.
Leanne
2
Dieser neue Workflow zum erneuten Erstellen von Zertifikaten klingt zu einfach ;-)
Nochmals vielen
Danke @leanne für die Antwort. Es sollte eine Ablaufoption für alte irrelevante Antworten oben in SO geben.
RobMac
11

Sehr einfach war es, Ihr Zertifikat zu erneuern. Gehen Sie zu Ihrem Entwickler-Mitgliedercenter und gehen Sie zu Ihrem Bereitstellungsprofil und sehen Sie, welche Zertifikate aktiv und inaktiv sind. Wählen Sie Inaktives Zertifikat aus und klicken Sie auf Bearbeiten und dann auf Generieren. Jetzt verlängert sich Ihr Zertifikat erfolgreich um weitere 1 Jahr. Vielen Dank

Shanmugasundharam
quelle
@Shanmugasundharam, Sollen wir nach dem Erstellen eines Bereitstellungsprofils eine neue Version im App Store veröffentlichen?
Niraj Paul
Dies erfordert immer noch eine CSR-Datei, die aus Xcode generiert wurde, zumindest aus dem, was ich gefunden habe. Unter developer.apple.com/account gehe ich zu "Zertifikate, IDs & Profile" -> "Profile". Ich sehe ein ReleaseProfile und ein TestingProfile. Beide zeigen "Ungültig" in der Spalte "Ablauf". Ich klicke auf ReleaseProfile und dann auf "Bearbeiten". Unter "Zertifikate" wird "Keine Zertifikate verfügbar" mit der Schaltfläche "Zertifikat erstellen" angezeigt. Ich klicke darauf. Ich wähle dann "iOS Distribution" und "Continue". Um es jetzt zu erstellen, muss ich "Datei auswählen", dh eine CSR-Datei hochladen, von der ich annehme, dass sie nur aus xcode generiert werden kann.
Brent212
Ich habe herausgefunden, dass ich eine CSR einfach durch Ausführen unter Linux generieren kann: **** openssl req -nodes -newkey rsa: 2048 -keyout private_key.key -out cer_sign_request.csr **** Ich kann nicht glauben, dass es so viele Antworten gibt zu "So generieren Sie ein Zertifikat csr", für das xcode erforderlich ist, ohne diese einfache Lösung zu erwähnen, bei der mein alter Mac nicht abgestaubt und eine sperrige IDE gestartet werden muss.
Brent212
@NirajPaul Ihre Anwendung funktioniert weiterhin für die Benutzer, die sie aus dem Store heruntergeladen haben, und sie funktioniert sogar für Sie, wenn Sie sie aus dem Store herunterladen. Dies betrifft nur Benutzer, die die Anwendung mithilfe eines Bereitstellungsprofils auf dem Gerät platzieren (dh Sie haben sie über xCode erstellt und auf Ihrem Gerät installiert). Benutzer in Vergangenheit, Gegenwart und Zukunft werden nichts anderes bemerken. stackoverflow.com/a/7128502/3493877 Quelle von hier
Shanmugasundharam
0

Dies war ein wirklich hilfreicher Thread. Ich habe die gleichen Schritte wie @junjie ausgeführt, aber für mich ist etwas Seltsames passiert. Nachfolgend sind die Schritte aufgeführt, die ich ausgeführt habe.

  1. Ging zum Entwicklerportal und widerrief das Zertifikat, das kurz vor dem Ablauf stand.
  2. Ging zu XCode6.4 und in den Kontoeinstellungen zeigte das Zertifikat immer noch gültig, ich wurde verrückt.
  3. Dann habe ich XCode7 geöffnet, dort wurde das Zertifikat mit der Schaltfläche "Zurücksetzen" angezeigt, anstatt es zu erstellen, und ich habe auf die Schaltfläche "Zurücksetzen" geklickt. Später im Portal konnte ich ein erweitertes Zertifikat sehen. Dies sagt Apple über die Schaltfläche "Zurücksetzen"

Wenn Xcode ein Problem mit einer Signaturidentität feststellt, wird in den Kontoeinstellungen eine entsprechende Aktion angezeigt. Wenn Xcode die Schaltfläche Erstellen anzeigt, ist die Signaturidentität weder im Member Center noch auf Ihrem Mac vorhanden. Wenn Xcode eine Schaltfläche zum Zurücksetzen anzeigt, kann die Signaturidentität auf Ihrem Mac nicht verwendet werden. Beispielsweise fehlt der private Schlüssel. Wenn Sie auf die Schaltfläche Zurücksetzen klicken, widerruft Xcode das entsprechende Zertifikat und fordert es an.

  1. Ich habe versucht, damit ein Appstore-IPA zu erstellen, nur um es zu testen, und es hat gut funktioniert, sodass ich gerettet bin, aber immer noch nicht sicher bin, was passiert ist. Möglicherweise hatte ich mehrere Konten auf meinem Mac konfiguriert, weiß nicht.
anoop4real
quelle