Właściwy sposób odnowienia certyfikatu dystrybucyjnego na iOS

303

Mój certyfikat dystrybucyjny wygasa 7 czerwca wraz ze wszystkimi moimi plikami administracyjnymi. Jak prawidłowo go odnowić? Czy powinienem go teraz odwołać i poprosić o nowy? Jeśli to zrobię, czy wszystkie moje aplikacje na żywo zostaną usunięte?

użytkownik1413558
źródło
7
Z jakiegokolwiek powodu, po wielu latach nieużywania tego konta, otrzymałem powiadomienie o tej odpowiedzi. Nie jestem martwy (jeszcze). Chciałbym również podziękować wszystkim na StackOverflow na przestrzeni lat za pomoc. Napisałem to pytanie, gdy miałem 14 lat (obecnie 21). Od tego czasu wciąż tworzyłem aplikacje na iOS i wkrótce zacznę pełnoetatową rolę w Apple (moje marzenie tak długo, jak pamiętam). Jeszcze raz dziękuję wszystkim, którzy pomogli po drodze!
user1413558
świetna historia! tak lata mijały! nie możesz sobie nawet wyobrazić, jak programowanie zostało wykonane przed kontrolą jakości online. na zdrowie
Fattie
@Fattie Dlaczego ostrzeżenie? Poza niewielkimi zmianami interfejsu użytkownika na stronach Apple, zaakceptowana odpowiedź jest nadal poprawna. Nie wszystko automatycznie staje się złe tylko dlatego, że jest stare.
Theo
cześć @ Theo, myślę, że była długa dyskusja (teraz usunięta), więc mój komentarz (właśnie go usunąłem!) nie ma żadnego konkretnego sensu, dziękuję za zwrócenie uwagi. Zwróć uwagę, że w tym konkretnym przypadku 5-letnia odpowiedź Ticked ma błędne informacje, jak np. SLBarth wyjaśnia.
Fattie

Odpowiedzi:

357

Twoje aplikacje na żywo nie zostaną usunięte. W sklepie z aplikacjami nic się nie stanie.

Gdy formalnie wygasną, jedyną rzeczą, na którą wpłynie to twoja zdolność do podpisywania kodu (a tym samym tworzenia nowych kompilacji i zapewniania aktualizacji).

Jeśli chodzi o certyfikat dystrybucyjny, po wygaśnięciu znika on po prostu z sekcji „Certyfikaty, identyfikator i profile” w Centrum dla członków. Jeśli chcesz odnowić go przed wygaśnięciem, unieważnij obecny certyfikat, a otrzymasz przycisk z prośbą o nowy.

Jeśli chodzi o profil udostępniania, nie martw się nim przed upływem terminu ważności, po prostu go używaj. Wystarczy, że odnowisz go po wygaśnięciu.

Spokojnie, że nic nie stanie się z aplikacją na żywo w sklepie.

Andy Obusek
źródło
7
Dzięki, wygasły dzisiaj. Odnowiłem je bez żadnych problemów.
user1413558,
30
Po prostu dla innych. Cofnąłem certyfikat używany do dystrybucji korporacyjnej i NIE miałem opcji odnowienia certyfikatu. Po prostu zniknął. Aplikacja nie działała (nie można jej zainstalować), dopóki nie przebudowałem jej z nowym certyfikatem.
składany róg
34
Hej, nie cofaj certyfikatu wewnętrznego !! Twoje aplikacje wewnętrzne nie będą działać po ponownym uruchomieniu / 3 dniach, chyba że możesz zaktualizować wszystkie aplikacje w tym okresie. Apple umożliwia tworzenie 2 wewnętrznych aplikacji, dzięki czemu mogą się one nakładać na siebie, a następnie aktualizować nimi nowe aplikacje. Nie cofaj tego. Jedyne, co możesz odwołać, to certyfikat App-Store bez zatrzymywania istniejących aplikacji.
mskw
13
Ściśle mówiąc, nie możesz odnowić certyfikatów, musisz wygenerować nowe - patrz developer.apple.com/library/ios/#documentation/IDEs/Conceptual/…
mklement0
2
Zaktualizowany link do dokumentacji firmy Apple na ten temat: developer.apple.com/library/ios/documentation/IDEs/Conceptual/…
qix
348

Po wygaśnięciu certyfikat znika po prostu z sekcji „Certyfikaty, identyfikator i profile” w Centrum dla członków. Nie ma przycisku „Odnów”, który pozwala odnowić certyfikat. Możesz odwołać certyfikat i wygenerować nowy przed jego upływem . Możesz też poczekać, aż wygaśnie i zniknie, a następnie wygenerować nowy certyfikat. W Przewodniku dystrybucji aplikacji Apple :

Zastępowanie wygasłych certyfikatów

Po wygaśnięciu certyfikatu programistycznego lub dystrybucyjnego usuń go i poproś o nowy certyfikat w Xcode.

Po wygaśnięciu lub unieważnieniu certyfikatu każdy profil obsługi, który wykorzystał wygasły / odwołany certyfikat, zostanie odzwierciedlony jako „Nieprawidłowy”. Nie można zbudować i podpisać żadnej aplikacji przy użyciu tych nieprawidłowych profili udostępniania. Jak możesz sobie wyobrazić, wolałbym odwołać i zregenerować certyfikat przed jego wygaśnięciem.

P: Jeśli to zrobię, to czy wszystkie moje aplikacje na żywo zostaną usunięte?

Aplikacje, które są już w App Store, nadal działają dobrze. Ponownie w Przewodniku dystrybucji aplikacji Apple :

Ważne: Ponowne utworzenie certyfikatów programistycznych lub dystrybucyjnych nie wpływa na aplikacje przesłane do sklepu ani nie wpływa na możliwość ich aktualizacji.

Więc…

P: Jak prawidłowo go odnowić?

Jak wspomniano powyżej, nie ma odnowienia certyfikatów. Wykonaj poniższe kroki, aby unieważnić i ponownie wygenerować nowy certyfikat wraz z profilami udostępniania, których dotyczy problem. Instrukcje zostały zaktualizowane dla Xcode 8.3 i Xcode 9.

Krok 1: Odwołaj wygasający certyfikat

Zaloguj się do Centrum członków > Certyfikaty, identyfikatory i profile, wybierz wygasający certyfikat. Zanotuj datę wygaśnięcia certyfikatu i kliknij przycisk „Cofnij”.

Wybierz wygasający certyfikat i kliknij przycisk Odwołaj

Krok 2: (Opcjonalnie) Usuń odwołany certyfikat z pęku kluczy

Opcjonalnie, jeśli nie chcesz, aby unieważniony certyfikat leżał w twoim systemie, możesz go usunąć z systemu. Niestety funkcja „Usuń certyfikat” w Xcode> Preferencje> Konta> [Apple ID]> Zarządzaj certyfikatami… wydaje się być zawsze wyłączona, więc musimy je usunąć ręcznie za pomocą Keychain Access.app (/ Aplikacje / Narzędzia / Dostęp do pęku kluczy. aplikacja).

Opcjonalnie usuń odwołany certyfikat za pomocą Keychain Access.app

Filtruj według breloków „login” i kategorii „Certyfikaty”. Znajdź certyfikat, który właśnie odwołałeś w kroku 1.

W zależności od właśnie odwołanego certyfikatu wyszukaj „Mac” lub „iPhone”. Certyfikaty dystrybucyjne Mac App Store zaczynają się od „Third Mac Mac Developer”, a certyfikaty dystrybucyjne iOS App Store zaczynają się od „iPhone Distribution”.

Możesz zlokalizować odwołany certyfikat na podstawie nazwy zespołu, rodzaju certyfikatu (Mac lub iOS) i daty ważności certyfikatu zanotowanego w kroku 1.

Krok 3: Poproś o nowy certyfikat za pomocą Xcode

W obszarze Xcode> Preferencje> Konta> [Apple ID]> Zarządzaj certyfikatami… kliknij przycisk „+” w lewym dolnym rogu i wybierz ten sam typ certyfikatu, który właśnie odwołałeś, aby Xcode mógł poprosić o nowy dla Ciebie .

Pozwól Xcode poprosić o nowy certyfikat w Xcode> Preferencje> Konta> Apple ID> Zarządzaj certyfikatami…

Krok 4: Zaktualizuj profile udostępniania, aby używać nowego certyfikatu

Następnie wróć do Centrum użytkowników > Certyfikaty, identyfikatory i profile> Profile obsługi> Wszystkie. Zauważysz, że każdy profil informacyjny, który korzystał z unieważnionego certyfikatu, jest teraz odzwierciedlany jako „Nieprawidłowy”.

Zauważ, że każdy profil informacyjny, który korzystał z odwołanego certyfikatu, jest teraz odzwierciedlany jako „Nieprawidłowy”

Kliknij dowolny profil, który jest teraz „Nieprawidłowy”, kliknij „Edytuj”, następnie wybierz nowo utworzony certyfikat, a następnie kliknij „Generuj”. Powtarzaj tę czynność, aż wszystkie profile udostępniania zostaną zregenerowane przy użyciu nowego certyfikatu.

Wybierz nowo utworzony certyfikat i kliknij Wygeneruj

Krok 5: Użyj Xcode, aby pobrać nowe profile udostępniania

Wskazówka : zanim pobierzesz nowe profile za pomocą Xcode, możesz usunąć wszystkie istniejące i prawdopodobnie nieprawidłowe profile udostępniania z komputera Mac. Możesz to zrobić, usuwając wszystkie profile z~/Library/MobileDevice/Provisioning Profiles

Wróć do Xcode> Preferencje> Konta> [Apple ID], kliknij przycisk „Pobierz wszystkie profile”, aby poprosić Xcode o pobranie wszystkich profili udostępniania z konta programisty.

Kliknij Pobierz wszystkie profile dla Xcode, aby pobrać wszystkie nowo wygenerowane profile

junjie
źródło
1
Cześć Junjie, dzięki! Mam do czynienia z tym problemem z Xcode 7. Co stanie się z aplikacjami wydanymi z profilem udostępniania dystrybucji AdHoc, jeśli odwołam certyfikat dystrybucji? Czy oni wciąż żyją? Dzięki
Frade
3
@Frade według Apple: Certyfikat dystrybucyjny iOS (aplikacje wewnętrzne, aplikacje do użytku wewnętrznego), użytkownicy nie będą już mogli uruchamiać aplikacji podpisanych tym certyfikatem. Musisz rozpowszechnić nową wersję aplikacji podpisaną nowym certyfikatem. Zobacz developer.apple.com/support/certificates
Junjie
Pytałem o AdHoc, ale prawdopodobnie jest w tej samej sytuacji. Dzięki
Frade,
3
@junjie Co się stanie, jeśli aplikacja opublikowana w sklepie ma uprawnienia do powiadomień push? Czy po wygaśnięciu certyfikatu nadal będzie mógł wysyłać powiadomienia wypychane?
Otávio
4
@ Otávio twoje certyfikaty dystrybucji aplikacji (z czym mamy do czynienia w tym pytaniu) są niezależne od certyfikatu APNS. certyfikat APNS nie jest częścią pliku binarnego aplikacji. możesz odwołać / odnowić swój certyfikat APNS bez aktualizacji pliku binarnego aplikacji. to twój serwer push wymaga certyfikatu APNS.
Junjie
21

Od stycznia 2020 r. I Xcode 11.3.1 -

  • Otwórz Xcode
  • Otwórz Preferencje Xcode (Xcode-> Preferencje lub Cmd-,)
  • Kliknij Konta
  • Po lewej stronie kliknij swój identyfikator programisty
  • W prawym dolnym rogu kliknij Zarządzaj certyfikatami ...
  • W lewym dolnym rogu kliknij strzałkę po prawej stronie + (plus)
  • Wybierz z menu Apple Distribution

Xcode automatycznie utworzy certyfikat Apple Distribution, zainstaluje go w Keychain Access i zaktualizuje informacje dotyczące podpisywania Xcode

(Uwaga: pojedynczy certyfikat dystrybucji Apple jest teraz dostarczany zamiast poprzedniego certyfikatu dystrybucji iOS i jego odpowiedników).

leanne
źródło
ciekawe: dostałem moją pocztę od firmy Apple, aby odnowić certyfikat dystrybucji iOS. brak informacji, że zamiast tego powinienem utworzyć certyfikat Apple Distribution.
ekkescorner
E-mail nie wspomina o tym, @ekkescorner. Jest w dokumentacji online.
leanne
2
ten nowy przepływ pracy w celu ponownego tworzenia certyfikatów brzmi zbyt łatwo ;-) jeszcze raz
dziękuję
Dziękuję @leanne za odpowiedź. Powinna istnieć opcja wygaśnięcia starożytnych nieistotnych odpowiedzi powyżej w SO.
RobMac
11

Bardzo proste było odnowienie certyfikatu. Przejdź do centrum członka dewelopera i przejdź do profilu Provisioning i zobacz, jaki jest certyfikat Active i InActive, wybierz opcję nieaktywny certyfikat i naciśnij przycisk Edytuj, a następnie przycisk generuj. Teraz pomyślne odnowienie certyfikatu na kolejny rok. Dzięki

Shanmugasundharam
źródło
@Shanmugasundharam, Czy powinniśmy wypchnąć nową wersję w sklepie z aplikacjami po utworzeniu profilu obsługi administracyjnej.
Niraj Paul,
To wciąż wymaga pliku .csr wygenerowanego przynajmniej z kodu xcode z tego, co znalazłem. Z developer.apple.com/account przechodzę do „Certyfikatów, identyfikatorów i profili” -> „Profile”. Widzę ReleaseProfile i TestingProfile. Oba pokazują „Nieprawidłowe” w kolumnie „Wygaśnięcie”. Klikam ReleaseProfile, a następnie „Edytuj”. W polu „Certyfikaty” jest napisane „Brak dostępnych certyfikatów” z przyciskiem „Utwórz certyfikat”. Klikam to. Następnie wybieram „iOS Distribution” i „Continue”. Teraz, aby go utworzyć, muszę „wybrać plik”, co oznacza przesłanie pliku CSR, który, jak zakładam, może być wygenerowany tylko z xcode.
Brent212,
Zrozumiałem, że mogę wygenerować CSR po prostu uruchamiając, w systemie Linux: **** openssl req -nodes -newkey rsa: 2048 -keyout private_key.key -out cer_sign_request.csr **** Nie mogę uwierzyć, że jest tak wiele odpowiedzi do „jak wygenerować certyfikat csr”, który wymaga xcode bez wzmianki o tym prostym rozwiązaniu, które nie wymaga odkurzania mojego starego Maca i uruchamiania nieporęcznego IDE.
Brent212,
@NirajPaul Twoja aplikacja będzie nadal działać dla użytkowników, którzy pobrali ją ze sklepu, a nawet będzie działać dla Ciebie, jeśli pobierzesz ją ze sklepu. Dotyczy to tylko użytkowników, którzy umieścili aplikację na urządzeniu za pomocą profilu informacyjnego (tzn. Zbudowałeś ją i zainstalowałeś na swoim urządzeniu z xCode). Użytkownicy przeszłości, teraźniejszości i przyszłości nie zauważą nic innego. stackoverflow.com/a/7128502/3493877 Źródło stąd
Shanmugasundharam
0

To był naprawdę pomocny wątek. Wykonałem te same kroki, o których wspomniał @junjie, ale dla mnie stało się coś dziwnego, poniżej są kroki, które zrobiłem.

  1. Udał się do portalu dla programistów i unieważnił certyfikat, który miał wkrótce wygasnąć.
  2. Poszedłem do XCode6.4 i w ustawieniach konta certyfikat wciąż był ważny, oszalałem.
  3. Potem otworzyłem XCode7, tam certyfikat został pokazany z przyciskiem „Reset” zamiast tworzenia i nacisnąłem przycisk resetowania, a później w portalu mogłem zobaczyć rozszerzony certyfikat. Oto, co Apple mówi o przycisku Reset

Jeśli Xcode wykryje problem z tożsamością podpisującą, wyświetla odpowiednią akcję w preferencjach Kont. Jeśli Xcode wyświetli przycisk Utwórz, tożsamość podpisująca nie istnieje w Centrum użytkowników ani na komputerze Mac. Jeśli Xcode wyświetla przycisk Resetuj, tożsamość podpisująca nie jest użyteczna na komputerze Mac - na przykład brakuje klucza prywatnego. Po kliknięciu przycisku Resetuj Xcode odwołuje i żąda odpowiedniego certyfikatu.

  1. Próbowałem stworzyć ip Appstore z tym, po prostu przetestować i działało dobrze, więc jestem uratowany, ale nadal nie jestem pewien, co się stało. Być może miałem wiele kont skonfigurowanych na moim komputerze Mac, nie wiem.
anoop4real
źródło