При попытке создать проект iOS (в XCode) мне нужно импортировать открытый и закрытый ключи моего коллеги для удостоверения подписи кода, но я не могу этого сделать, потому что получаю сообщение об ошибке в Keychain Access, которое говорит: «Ошибка произошло. Невозможно импортировать элемент. / Невозможно получить содержимое этого элемента"
ПОЛНАЯ ИНФОРМАЦИЯ:
Я получил два ключа от компьютера моего коллеги, экспортировал их из его Связки ключей в виде двух файлов:
Roomer Inc.p12 (закрытый ключ)
Roomer Inc.pem (открытый ключ)
Когда он экспортировал их, он оставил пароль пустым (хотя мы также пытались использовать пароль «test» и получили те же результаты).
Когда я дважды щелкаю Roomer Inc.p12 (для закрытого ключа), он открывается в Keychain Access и предлагает мне выбрать связку ключей («логин» выбран по умолчанию)
Я нажимаю «Добавить», а затем меня просят ввести пароль к связке ключей (который я оставляю пустым)
Затем я всегда вижу это сообщение в доступе к связке ключей:
Однако, несмотря на появление этого сообщения, когда я нажимаю «ОК», я вижу новую запись закрытого ключа для «Roomer Inc». Обратите внимание, что эта запись является закрытым ключом в цепочке ключей «логин», как я и ожидал, но не имеет срока действия (должно ли быть так?)
Далее для файла Roomer Inc.pem (открытый ключ) меня просят выбрать связку ключей («логин»), и я нажимаю «Добавить».
Затем я также получаю сообщение «Произошла ошибка. Невозможно импортировать элемент. / Невозможно получить содержимое этого элемента» для открытого ключа. Однако в этом случае (в отличие от закрытого ключа) я не вижу записи, соответствующей тому, что я только что добавил.
Итак, похоже, что запись закрытого ключа может быть в порядке, а может и нет (у меня нет возможности проверить), а запись открытого ключа для Roomer не может быть установлена в цепочке ключей без этого сообщения об ошибке. Обратите внимание, что я также пытался использовать команду импорта безопасности для импорта открытого ключа:
$ security import Roomer\ Inc.pem -f pkcs12 ~/Library/Keychains/login.keychain
1 ключ импортный.
Когда я делаю это, хотя команда возвращает «1 ключ импортирован», я не вижу открытого ключа для «Roomer Inc» в моем окне доступа к связке ключей (я закрыл доступ к связке ключей и снова открыл его).
В любом случае, мы определили, что это наш блокировщик. (Конечно, симптомом является то, что проект XCode не будет создаваться для профиля обеспечения AdHoc, который будет использоваться с TestFlight). Я пропустил дополнительные шаги, касающиеся сборки XCode и настройки TestFlight, потому что мы считаем, что основная проблема связана с импортом ключей, как описано выше.