Błąd Codesign: tożsamość certyfikatu pojawiająca się dwukrotnie

Błąd CodeSign: tożsamość certyfikatu "iPhone Developer: XXXX (12345678)" pojawia się więcej niż raz w pęku kluczy. Narzędzie codesign wymaga tylko jednego.

Więc idę do breloka i go usuwam. Ale dostaję ten błąd za każdym razem, gdy restartuję Xcode 4 i jakaś aplikacja dodaje wygasły stary certyfikat z powrotem do pęku kluczy. Jakieś pomysły dlaczego i która aplikacja?

Author: skaffman, 2011-05-09

15 answers

Właśnie miałem ten sam problem. Zostało naprawione. Przyszedł po przesłaniu aplikacji i zainstalowaniu kilku certyfikatów do podpisania aplikacji.

Quick Fix: Otwórz KEYCHAIN ACCESS > kliknij na moje certyfikaty> tam prawdopodobnie zobaczysz iPhone Developer:. Prawdopodobnie zobaczysz go dwa razy! Wybierz ten z najwcześniejszą datą wygaśnięcia, kliknij prawym przyciskiem myszy i wybierz Usuń.

Uruchom ponownie Xcode, jeśli tego nie zrobiłeś. Teraz działa. :)

Szczęśliwe Kodowanie.

 98
Author: Louie,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-01-23 18:14:25

Chyba wiem, dlaczego proste usuwanie nie działa. Ponieważ certyfikat dev jest nadal przechowywany w profilu prowizyjnym, kiedy zamykam / ponownie otwieram Xcode po usunięciu certyfikatu w Pęku Kluczy, zobaczyłem, że stary certyfikat wrócił. Więc usunąłem go ponownie. Zadziałało.

Proste rozwiązanie usuwania profilu nie działało dla mnie.

Rozwiązanie, które zadziałało w moim przypadku:

  1. Quit Xcode
  2. Jeśli dostęp do pęku kluczy jest otwarty, zachowaj go otwórz.
  3. Uruchom Xcode teraz.
  4. upewnij się, że certyfikat, na który narzekał Xcode, zostanie ponownie dodany do pęku kluczy przy uruchomieniu z jego pamięci podręcznej.
  5. śmiało, usuń to.
  6. skompilować i szczęśliwe kodowanie.
 71
Author: Mobilewits,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-02-16 03:55:15

Spędziłem sporo czasu zmagając się z tym samym problemem. Po wszystkich próbach, aby to naprawić, w końcu zdałem sobie sprawę, że to błąd w Xcode. Ten post dał mi wskazówkę, aby to naprawić: certyfikaty magicznie pojawiają się w Twoim breloku

W moim przypadku pasujący klucz prywatny znajdował się w Pęku Kluczy systemowych i miał tylko moje imię (trudno powiedzieć, że chodziło o rezerwację). Musiałem:

  • Przenieś powiązany klucz prywatny do 'login' brelok
  • uruchomiłem ponownie Xcode i zauważyłem, że klucz prywatny jest teraz pokazywany jako skojarzony (potwierdza, do czego służy)
  • Usuń cert i klucz prywatny
  • Uruchom ponownie Xcode i puf! Przestał dodawać mój stary cert

Ciekawostką jest to, że gdy usuniesz certyfikat, nie usunie on powiązanego klucza prywatnego. Wizualnie pokazuje klucz prywatny poniżej cert. Nie daj się oszukać.

Powodzenia!

 10
Author: Sean Aitken,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-06-18 12:50:48

Ok, znalazłem odpowiedź na inne "powiązane" pytanie. Xcode expired certificate problem Znany problem z Xcode 4 http://openradar.appspot.com/9173280

 4
Author: Mugunth,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 10:26:37

Jeśli jesteś członkiem programów iOS Developer i Enterprise i wprowadziłeś nazwę firmy w tej samej dla obu aplikacji, otrzymasz dwa ważne certyfikaty dystrybucji o tej samej nazwie.

Uważam, że to pytanie odnosi się do tej sytuacji: kolizje CodeSign między deweloperem a dystrybucją korporacyjną

 4
Author: Josh Metcalfe,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 10:26:37

Mam ten sam problem z xcode45-DP1. to mi działa:

  1. Usuń wszystkie certyfikaty powiązane z Twoim kontem z pęku kluczy. QUIT keychain

  2. Usuń wszystkie profile aprowizacji związane z kontem z xcode:organizer: device: Library: provisioning profiles. QUIT xcode

  3. Odwołaj swój certyfikat, zregeneruj go i pobierz na swoją maszynę do budowania

  4. Przed pobraniem profilu provisioning, kliknij Edytuj obok przycisku Pobierz, aby upewnić się, że wybrana jest Twoja nazwa.

  5. Następnie pobierz profil provisioning

  6. Kliknij dwukrotnie certyfikat, aby zainstalować go na pęku kluczy

  7. Przeciągnij profil provisioning do Xcode: organizer:device:Library: provisioning profiles

  8. Nie klikaj przycisku odświeżania z xcode.

  9. Zbuduj.

 3
Author: ccs,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-06-22 20:16:04

Odpowiedź jest tutaj

Usuń wszystkie moje stare profile aprowizacji przy użyciu starego certyfikatu z organizerem, a następnie zamknij XCode, usuń stary certyfikat z Pęku Kluczy i uruchom ponownie XCode.

Wygląda na to, że xcode zachowa certyfikaty, gdy będziesz mieć odniesienia do profili aprowizacji

 3
Author: yeahdixon,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 11:44:01

Miałem problem z certyfikatami zombie, które były ponownie zaludnione w moim pęku kluczy, a tożsamość certyfikatu pojawiała się dwa razy. Po prostu usunięcie duplikatu cert nie zadziałało.

W Xcode, kiedy spojrzałem na mój podpis kodowy w celu, przypomniałem sobie, że miałem inny profil dystrybucji w kompilacjach " Ad Hoc "niż" Release".

Kiedy wygenerowałem nowy certyfikat, pobrałem tylko nowy profil dla kompilacji Ad Hoc, a nie dla kompilacji Release.

Xcode był zawieszony na certyfikacie dla obu tych profili, a Xcode powodował w związku z tym duplikaty certyfikatów... ponieważ zapomniałem poprawnie zaktualizować moje profile.

Upewnij się, że zaktualizujesz wszystkie profile obsługi do nowego certyfikatu i zmienisz wszystkie profile w tym samym czasie w Xcode.

Pamiętaj, aby zaktualizować wszystkie profile aprowizacji nowym certyfikatem, w przeciwnym razie Xcode spróbuje umieścić certyfikat dla obu profili w pęku kluczy... powodowanie błędu duplikatu!

 1
Author: karlbecker_com,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-08-09 18:39:06

Miałem ten problem i przeczytałem każdą informację na jego temat, w końcu znalazłem rozwiązanie na własną rękę. Ludzie nie wspomnieli o tym, że Przed czyszczeniem certyfikatów w Xcode organizer i Przed czyszczeniem wygasłych kluczy w pęku kluczy musisz upewnić się, że nie masz wygasłych certyfikatów w Provisioning Portal. Jeśli będziesz mieć nawet jeden wygasły certyfikat dla starej aplikacji, która używała starego certyfikatu programisty Xcode będzie ciągnąć to do organizera z pierwszym zbudowaniem, a stamtąd trafi do twojego pęku kluczy i spowoduje duplikat.

 1
Author: Segev,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-01-14 07:07:51

W moim przypadku," cache " Xcode patrzył było dołączone urządzenie iOS. Aby ustalić, czy jest to problem dla Ciebie:

  1. Odłącz wszystkie urządzenia z systemem iOS
  2. Usuń certyfikat i klucz prywatny z Keychain Access
  3. Restart Xcode
  4. Sprawdź dostęp do pęku kluczy: w moim przypadku duplikat nie został odtworzony w tym momencie
  5. [[3]}Podłącz ponownie urządzenie z systemem iOS
  6. Uruchom ponownie Xcode
  7. Sprawdź dostęp do pęku kluczy: w moim przypadku duplikat został odtworzony w ten punkt

Jeśli jest to dla Ciebie główna przyczyna, możesz ją obejść, upewniając się, że odłączyłeś Urządzenia z systemem iOS przed uruchomieniem Xcode.

 1
Author: Simon Whitaker,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-03-26 11:42:02

Samo usunięcie zbędnego certyfikatu nie zadziałało. Wydaje się, że za każdym razem, gdy xcodebuild jest wywoływany, jest "odtwarzanie" certyfikat w pęku kluczy z pamięci podręcznej gdzieś... ten sam problem co avi stworzyłem dla niego hack / fix, próbowałem znaleźć, gdzie plik był buforowany i wyczyścić go, ale nie miałem szczęścia. W końcu, co działało dla mnie (trochę hack, ale hej, co jeszcze można zrobić), było dowiedzieć się, co Numer certyfikatu jest, i ręcznie usunąć to z breloka krótko po nazwie xcodebuild. Najpierw przejdź do katalogu/usr/ bin / (lub dowolnego katalogu z Twoim plikiem xcodebuild, spróbuj which xcodebuild) i uruchom następujące polecenie:

sudo mv xcodebuild xcodebuild_actual

Następnie utwórz plik używając swojego ulubionego edytora (nie zapomnij użyć sudo) z następującym kodem:

xcodebuild_actual $* &
echo "xcodebuild started, waiting to wipe certificate, 10 seconds"
sleep 2
echo "Wiping Certificate..."
sudo security -v delete-certificate -t -Z 407629F811D52C0BB7AD31BBB18DCB496354B05E

Uwaga: będziesz musiał zmodyfikować swój plik sudoers, aby mieć dostęp do uruchomienia tego konkretnego polecenia bez konieczności wprowadzania hasła.

Zastąp hex identity po -z powyżej przez hex identyfikuje certyfikat obrażającego zombie. Na koniec upewnij się, że plik xcodebuild jest wykonywalny:

sudo chmod 755 xcodebuild 

Możesz teraz otworzyć pęk kluczy i uruchomić polecenie build, i obserwować, jak obrażony certyfikat zombie jest wskrzeszany, a następnie tymczasowo postrzelony, zanim stanie się problemem dla kodowania. Mam nadzieję, że Apple wymyśli prawdziwą poprawkę.

 0
Author: BadPirate,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 11:51:20

W moim przypadku usunięcie certyfikatów nie zadziałało. Xcode 4 wydaje się buforować lub przywracać je. Sztuczka, która w końcu zadziałała dla mnie było mieć keychain i Xcode działa. Następnie w pęku kluczy przeciągnij moje 2 certyfikaty (dev+dist) z 'login' do 'system'. Następnie magicznie pojawiły się duplikaty i udało mi się je usunąć, a następnie przeciągnąłem certyfikaty z powrotem do "login"

 0
Author: Peter,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-07-07 13:21:48

To bardzo proste, wyeksportuj odpowiedni certyfikat na pulpit. Skreślić ten certyfikat w breloku. Spróbuj zbudować źródło z Komunikatem o błędzie (nie ma cert..) Następnie ponownie zaimportuj certyfikat. = > Sukces!

 0
Author: Giang,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-07-09 23:42:42

Właśnie usunąłem jeden z kluczy prywatnych w pęku kluczy do certyfikatu, którego już nie potrzebuję.

Mimo że certyfikat pojawia się ponownie, ale klucz prywatny nie pojawia się ponownie. Teraz sprawdź poprawne certyfikaty, a pojawi się tylko jeden certyfikat, a inne certyfikaty, których klucz prywatny został usunięty, nie są już wyświetlane w obszarze poprawne certyfikaty.

Myślę, że jest to najprostszy sposób na rozwiązanie tego problemu.

 0
Author: swathy valluri,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-05-08 09:45:05

Raz miałem do czynienia z tym samym problemem. I rozwiązałem go, usuwając nieużywany profil provisioning z zakładki Organizer w xcode. W rzeczywistości Keychain otrzyma ten certyfikat z tego profilu aprowizacji, który jest albo wygasłym certyfikatem, albo certyfikatem kompilacji przez Cofnięty certyfikat.

Więc wystarczy usunąć ten profil provisioning z zakładki Organizer. Organizator znajduje się na prawym górnym przycisku Xcode Otwórz go, a następnie w Organizer Usuń profile aprowizacji, których nie masz używam.

Oto zrzut ekranu,

Tutaj wpisz opis obrazka

I nie zapomnij usunąć dodatkowego certyfikatu z pęku kluczy, ale po tym certyfikat nie pojawia się ponownie.

 0
Author: Dilip,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-08-15 07:54:52