2014-05-08 16 views
16

Aby utworzyć projekt iOS (w XCode), muszę zaimportować klucze publiczne i prywatne mojego kolegi do podpisywania kodu tożsamość, ale jestem w stanie to zrobić, ponieważ pojawia się błąd w dostęp do pęku kluczy, który mówiNie można zaimportować kluczy publicznych lub prywatnych podpisywania kodu przy użyciu dostępu do pęku kluczy (Mac OS X Mavericks)

pełne dane „wystąpił błąd nie można zaimportować element/zawartość tej pozycji nie można odzyskać..”:

Mam dwa klucze z komputera mojego kolegi, wyeksportowałem je z jego pęku kluczy jako dwa pliki:

Roomer Inc.p12 (prywatny klucz y)

Roomer Inc.pem (klucz publiczny)

Kiedy eksportowane nich opuścił hasło puste (choć również próbowali z hasłem „test” i dostał takie same wyniki).

Po dwukrotnym kliknięciu Roomer Inc.p12 (klucza prywatnego), otwiera w Dostęp do pęku kluczy i promts mi wybrać pęk kluczy („login” jest domyślnie zaznaczone)

kliknięciu „Dodaj” i wtedy jestem poproszony o hasło do pęku kluczy (które pozostawić puste)

Następny zawsze widzę ten komunikat w pęku kluczy:

screenshot of error

jednak pomimo tego komunikatu pojawiającego się, gdy kliknę OK, jestem ee nowy wpis klucza prywatnego dla "Roomer Inc". Zauważ, że ten wpis jest kluczem prywatnym w łańcuchu kluczy logowania, tak jak przypuszczam, ale nie ma daty wygaśnięcia (czy powinien?)

Następnie, dla pliku Roomer Inc.pem (klucz publiczny) Jestem poproszony o wybranie pęku kluczy ("login") i kliknięcie Dodaj

Następnie otrzymuję komunikat "Wystąpił błąd Nie można importować przedmiotu/Zawartość tego elementu nie może być odzyskana" wiadomość dla publiczności klucz również. Jednak w tym przypadku (w przeciwieństwie do klucza prywatnego) nie widzę żadnego wpisu odpowiadającego temu, co właśnie dodałem.

Wygląda na to, że wpis klucza prywatnego może być poprawny lub nie (nie mam możliwości weryfikacji), a wpis klucza publicznego do Roomera nie może być zainstalowany w pęku kluczy bez tego komunikatu o błędzie. Należy pamiętać, że próbowałem również za pomocą polecenia import bezpieczeństwo importować klucz publiczny:

$ Zabezpieczenie przywozowe Roomer \ Inc.pem -f pkcs12 ~/Library/Breloki/login.keychain

1 klucz importowane.

Kiedy to zrobię, chociaż polecenie zwraca "1 klucz zaimportowany", nie widzę klucza publicznego dla "Roomer Inc" w moim oknie dostępu do pęku kluczy (zamknąłem dostęp do pęku kluczy i ponownie go otworzyłem).

Tak czy inaczej, stwierdziliśmy, że jest to nasz bloker. (Objawem jest oczywiście to, że projekt XCode nie będzie zbudowany dla profilu obsługi AdHoc, który będzie używany z TestFlight). Zostawiłem dodatkowe kroki dotyczące budowy XCode i konfiguracji TestFlight, ponieważ uważamy, że podstawowy problem związany jest z importowaniem kluczy, jak wyjaśniono powyżej.

Odpowiedz

23

Ustaliliśmy nasz problem, a ja zamieszczam tutaj swoją odpowiedź, aby inni mogli ją uznać za pomocną.

Problem jest w rzeczywistości problemem UX z dostępem do pęku kluczy. Pozwól, że się cofnę i dam trochę kontekstu: kiedy tworzysz certyfikat dystrybucji w Apple, tworzysz go na podstawie klucza PRYWATNEGO i uprawnień opartych na aplikacji.

W Dostępie do pęku kluczy certyfikat dystrybucji jest wymieniony jako dziecko pod nazwą klucza prywatnego, z którego został utworzony. Tutaj jest haczyk: Kiedy używasz pola wyszukiwania w Dostępu do pęku kluczy (w moim przypadku wpisywaliśmy w "Roomer", ponieważ jest to nazwa na naszym certyfikacie dystrybucji), nie będzie szukał certyfikatu o tej nazwie, będzie szukał certyfikat dołączony do klucza prywatnego dla tej nazwy.

Tak więc mój kolega utworzył certyfikat dystrybucji oparty na kluczu prywatnym o nazwie "Jorge Davila" (jego nazwisko), mimo że certyfikat dystrybucji nosi nazwę "iPhone Distribution: Roomer Inc."

Kiedy szukał "Roomer" w Dostępu do pęku kluczy, poprawny NIE był wyświetlany w wynikach wyszukiwania, ponieważ klucz, z którego utworzono ten certyfikat, nosił imię "Jorge Davila", a nie "Roomer". W związku z tym eksportował niewłaściwy certyfikat i nie zdawał sobie sprawy, ponieważ były tam inne (niektóre wygasły) o tej nazwie.

Oto jak wygląda prawidłowa:

Jest to stosunkowo dopracowany problem z UX z Dostęp do pęku kluczy i fakt, że narzędzie do wyszukiwania nie daje rezultatów można oczekiwać, że. Zamieszczam tę odpowiedź w nadziei, że inni uznają to za przydatne.

Powiązane problemy