Xcode nie może znaleźć ważnej prywatnej pary certyfikatu / ważnej pary kluczy dla tego profilu w pęku kluczy [duplikat]

Możliwy duplikat:
Xcode-iPhone-profile nie pasuje do żadnej ważnej pary klucza certificate- / private-key w domyślnym pęku kluczy

Mam problem z zainstalowaniem profilu provisioning stworzonego przez innego dewelopera.

  1. certyfikat rozwoju już istnieje
  2. Aplikacja, nad którą pracuję ma profil Provisioning powiązany z certyfikatem
  3. mój uuid urządzenia został dodany
  4. AppID dla aplikacji już exists
  5. istnieje profil Provisioning Development, z moim UUID

Po pobraniu certyfikatu i profilu Provisioning pojawia się błąd w organizerze:

Xcode could not find a valid private certificate/valid key-pair for this profile in your keychain

Jak mogę rozwiązać?

Author: Community, 2011-04-02

10 answers

Potrzebny jest również klucz prywatny, który został użyty podczas żądania certyfikatu.

Klucz prywatny jest tym, co jest używane do podpisywania każdego urządzenia binarnego kompilacji przy użyciu tej tożsamości dewelopera. Certyfikat, który pobierasz i importujesz, jest w zasadzie tylko pieczątką na Twoim prywatnym kluczu z napisem "kod podpisany za pomocą tego klucza może być uruchamiany na urządzeniu".

Niech drugi programista wyeksportuje Klucze używane podczas generowania żądania podpisania oryginalnego certyfikatu, a następnie je zaimportuje na maszynie.

Poszukaj w pęku kluczy, aby sprawdzić, czy klucz jest poprawnie sparowany z certyfikatem, gdy masz oba:

Gdy wszystko jest na swoim miejscu, powinieneś zobaczyć mały trójkąt ujawniania na certyfikacie, który pozwala Ci zobaczyć klucz (i odwrotnie na stronie klucza, gdzie powinieneś zobaczyć certyfikat pod kluczem). W przeciwnym razie relacja nie jest poprawna, nie jest rozpoznawana przez Pęk kluczy podczas importu (widziałem to w niektórych przypadkach podczas importowania odnowionego certyfikat, podczas gdy wygasły jeden był jeszcze w pęku kluczy).

Ostatnio próbowałem przenieść parę klucza publicznego / prywatnego dla certyfikatu dewelopera iOS na inną maszynę. Plik publiczny został wyeksportowany za pomocą dostępu do pęku kluczy .pem i prywatny plik do chronionego hasłem.p12.

Na innym komputerze dostęp do pęku kluczy nie będzie ich importować. Rozwiązaniem była stara, dobra linia poleceń:

security import ios_priv.p12 -k ~/Library/Keychains/login.keychain 
security import ios_pub.pem -k ~/Library/Keychains/login.keychain

Więc spróbuj tego, jeśli masz problemy z przeniesieniem kluczy do certyfikat.


EDIT to reply to @ baudot ' s comment below. (nie zmieściłby się w komentarzu)

Upewnij się, że w pęku kluczy znajduje się główny certyfikat CA firmy Apple Developer Relations. To jest to, co jest używane do weryfikacji certyfikatu.

Możesz również zdecydować się na nowy początek. Wystarczy usunąć klucze i certyfikaty z pęku kluczy, odwołać je w portalu ADC i usunąć powiązane z nimi profile aprowizacji.

Po usunięciu wszystko, co możesz wygenerować nową parę kluczy i powiązane żądanie podpisania certyfikatu. Następnie upewnij się, że wyeksportujesz klucze i schowasz je w dobrym miejscu na przyszłość.

Następnie przejdź do portalu ADC, Prześlij nowe żądanie podpisania cert, Wygeneruj nowe profile Aprowizacji i gotowe.

Jedyną niezastąpioną rzeczą jest twoje konto ADC. Cała reszta może zostać przywrócona lub odtworzona.

Polecam również skorzystanie z nowej, eleganckiej automatycznej aprowizacji wbudowany w Xcode. Oszczędza to ból głowy związany z pobieraniem i importowaniem profili aprowizacji. Po prostu synchronizuje istniejące z ADC.

 64
Author: Heiberg,
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
2011-04-17 08:24:57

Przydarzyło mi się to, ponieważ upuściłem profil na sekcję profili obsługi urządzenia w Xcode Organizer, ale nie do sekcji profili obsługi Biblioteki. Gdy go tam upuściłem, Ostrzeżenie zniknęło w sekcji Urządzenia.

Mam nadzieję, że to może pomóc każdemu...

 22
Author: Mathieu Frenette,
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-10-07 11:22:55

Gdy certyfikat jest w porządku, uruchom ponownie Xcode, aby pomóc mu go znaleźć.

 5
Author: Matthew Mitchell,
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
2011-10-15 01:50:24

Miałem podobny problem. Jednym z rozwiązań jest usunięcie certyfikatu z pęku kluczy i zażądanie nowego. Apple ma tutaj bardzo szczegółowy opis:

Technotes

 3
Author: Nate Smith,
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-20 07:12:31

Miałem ten problem po wygaśnięciu certyfikatu i byłem pewien, że klucze są dobre i we właściwych miejscach. Krok, którego mi brakowało, to usunięcie profili w portalu Aprowizacyjnym i odtworzenie ich. Nie ufaj temu linkowi "Odnów" - wygląda na taki kuszący skrót, ale mi po prostu nie zadziałał!

Tak więc, aby zacząć od nowa, nie tylko musisz usunąć klucze i certyfikaty z Pęku Kluczy, musisz wyczyścić zawartość rozwoju i dystrybucji karty w obszarze Provisioning.

 1
Author: Chris Newman,
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
2011-10-21 10:47:28

Ja też miałem ten problem na 10.6, Xcode 4.2. Po wypróbowaniu wielu innych rzeczy, w końcu po prostu wyszedł Xcode i uruchomił go ponownie. Następnie komunikat o błędzie zniknął. Mam figurę.

 1
Author: Tony Perez,
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
2011-11-12 11:57:46

Udało mi się to rozwiązać tylko za pomocą Xcode -> Organizator -> profil programisty i tam kliknięcie Eksportuj na dole prawego panelu. Zapisuje to skonsolidowany plik .developerprofile, który po prostu otwierasz/importujesz na docelowej maszynie.

Zastrzeżenie: to może nie być to, co plakat pierwotnie zamierzał osiągnąć. Nie udało mi się jednak pomyślnie przenieść Cert prywatny+publiczny + między moimi maszynami żadnych innych sposób.

 1
Author: conny,
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-01-15 17:37:52

Musisz edytować swój profil provisioning w portalu provisioning iOS. Wybierz przycisk "Edytuj", a następnie "Modyfikuj". Wprowadź wymagane informacje (imię i nazwisko, urządzenia, APL. id).

Gdy system pokaże, że profil jest "aktywny", przejdź do sekcji Certyfikaty w portalu obsługi iOS i sprawdź certyfikat rozwoju. Powinien mieć swój profil aprowizacji wymieniony w pozycji "profil Aprowizacji".

Następnie możesz pobrać profil i wrzucić go do Xcode.

 0
Author: Hynek,
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
2011-08-23 23:06:56

Jeśli twój stary mac nie jest dostępny, ale masz dostęp ssh (np. włączony w kostce biurowej daleko, daleko), istnieje rozwiązanie. Możesz po prostu skopiować pęk kluczy ze starego komputera na nowy, używając wiersza poleceń:

scp user@oldmac:Library/Keychains/login.keychain ~/Downloads/oldmac.keychain
--or-- ssh oldmac; cp Library/Keychains/login.keychain ~/Dropbox/oldmac.keychain

Na nowym komputerze Mac otwórz dostęp do pęku kluczy. Przejdź do File - > Add Keychain i wybierz Downloads / oldmac.brelok

Następnie po prostu skopiuj niezbędne klucze publiczne z pęku kluczy oldmac do domyślnego pęku kluczy "login".

 0
Author: Stickley,
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-02-15 16:12:05

Właśnie miałem ten problem.

Po prostu naciśnij "Odśwież" na dolnym pasku narzędzi i XCode 4 pobierze i zainstaluje wszystko za Ciebie.

 0
Author: ,
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-09-08 16:46:43