Как мне выбраться из беспорядка с сертификатом идентификатора разработчика Apple

Отказ от ответственности, я разработчик Java, а не разработчик Apple, и поэтому очень редко использую специальные инструменты Apple.

Я разрабатываю приложение Java и в рамках своей сборки из командной строки подписываю его сертификатом Apple Developer Id следующим образом.

export CODESIGN_ALLOCATE="/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate"

/usr/bin/codesign --sign "Developer ID Application: P Taylor" --force --deep --verbose /Applications/SongKong.app
/usr/bin/codesign --verify --deep  --verbose /Applications/SongKong.app

К сожалению, когда я попытался собрать сегодня, произошла ошибка, потому что срок действия сертификата истек несколько дней назад, он был первоначально создан 5 лет назад.

Поэтому я продлил членство в Apple Developer (срок действия которого также истек) и в конце концов нашел способ использовать KeyChain для создания файла CertificateSigningRequest.certSigningRequest, который я затем загрузил в Apple, и он сгенерировал файл developerID_application.cer. Я открыл это, и оно было добавлено в цепочку ключей.

Затем я перезапустил свою сборку, но она не удалась, потому что теперь было найдено два сертификата.

Затем я удалил старый с истекшим сроком действия и повторил попытку, на этот раз казалось, что мне нужно дать доступ к использованию сертификата, введя мой пароль KeyChain. К сожалению, это не похоже на мой основной пароль Mac, и поэтому мне в конце концов пришлось принудительно выйти и перезагрузиться.

Чтобы сбросить пароль KeyChain, я выполнил шаги онлайн, чтобы

Open KeyChain Access
From the KeyChain Access menu, choose Preferences.
Click General, then click Reset My Default KeyChain.

Затем я перезапустил свою сборку, но, хотя сертификат, кажется, там, он сообщает, что «удостоверение личности не найдено». Я думаю, потому что, создав новую цепочку ключей, я удалил свою личную личность (это центр сертификации?).

Итак, теперь у меня есть только сертификат идентификатора разработчика, но не другие части, и я не знаю, что делать.

Вопрос 1. Когда я выбрал Восстановить связку ключей по умолчанию, мне сказали, что старая связка ключей где-то хранится, поэтому мой первый вопрос: могу ли я снова установить ее по умолчанию, а затем, возможно, способ фактически сбросить пароль или, возможно, я смогу его угадать.

Вопрос 2. Если я не могу выполнить вопрос 1, что мне нужно сделать, чтобы воссоздать часть личного сертификата, которой сейчас нет. Помните, что весь смысл этого в том, что пользователи могут устанавливать мое программное обеспечение на свои Mac, не получая предупреждений о ненадежных разработчиках.


person Paul Taylor    schedule 19.06.2018    source источник
comment
Хорошо, похоже, это ответ на Qu1 - discussions.apple.com/thread/5212207, Проблема, могу ли я изменить пароль KeyChain, если я его не знаю.   -  person Paul Taylor    schedule 19.06.2018


Ответы (1)


Ну, я решил это, я следовал этим инструкциям, чтобы восстановить мою предыдущую связку ключей, в основном

  • В разделе Доступ к цепочке ключей выберите Удалить "логин" связки ключей и убедитесь, что при появлении запроса выберите Удалить ссылки, а не Удалить ссылки и файлы.
  • Откройте Finder и перейдите в папку ~/Library/Keychains.
  • Переименуйте login.keychain в login.keychain.old.
  • Переименуйте login-renamed-1.keychain в login.keychain.
  • В разделе Доступ к связке ключей выберите Добавить связку ключей и выберите файл login.keychain.
  • Перезапустите доступ к цепочке ключей, чтобы увидеть правильные результаты.

Но тогда у меня все еще была проблема, что когда я пытался подписать, мне было предложено ввести пароль KeyChain, а я его не знал.....

Однако в Доступ к цепочке ключей я перешел к Редактировать:Изменить настройки для «логина» связки ключей и ввел то, что, как мне казалось, было старым паролем и новым паролем, и оно приняло изменение даже несмотря на то, что когда я использовал пароль для подписи, это не удалось

Затем я запустил sign и ввел новый пароль при появлении запроса, и он был принят.

Я проверил подпись, загрузил сборку, скачал, установил и запустил, чтобы убедиться, что со сборкой все в порядке и все в порядке. Поэтому я надеюсь, что этот ответ поможет другим разработчикам, не относящимся к Apple, бороться со своими инструментами.

person Paul Taylor    schedule 19.06.2018