Добавить кодовую подпись в ACL закрытого ключа без Связки ключей

Я пытаюсь настроить непрерывную сборку / интеграцию для стабильных приложений iPhone.

У меня:

  • Выделенный Mac Mini.
  • Учетная запись пользователя с именем «build»
  • Hudson , настроенная как агент LaunchAgent для сборки, путем перетаскивания списка в / Users / build / Library / LaunchAgents
    • Пытался как общесистемный LaunchDaemon, работающий как hudson, но затем не имел доступа к цепочке ключей входа пользователя сборки. Долгая история, полная страданий.
  • Система настроена на автоматический вход в систему "build" при запуске, так что Hudson начинает работать.

Большая проблема - это кодовая подпись и связка ключей.

Мы создаем код от имени наших идентификаторы разработчиков клиентов, поэтому у нас есть несколько идентификаторов разработчиков, и мы будем добавлять другие.

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

Если вы это сделаете, это диалоговое окно изменяет список управления доступом к связке ключей (ACL) так, что кодовая подпись разрешена.

Вы можете просмотреть это открыв Keychain Access, развернуть сертификат, выбрать закрытый ключ, щелкнуть правой кнопкой мыши, выбрать «Получить информацию» и перейти на вкладку «Контроль доступа». «Девственный» ключ будет иметь только Keychain Access в списке «всегда разрешенных» приложений. Тот, который вы использовали и подтвердили в диалоговом окне, также будет иметь кодовый знак.

Это поле позволяет добавить приложение, за исключением того, что вы получаете стандартное средство выбора файлов Finder, которое скрывает папки Unix. Нет возможности перейти в / usr / bin / codeign. Так что добавить вручную невозможно!

Кто-нибудь знает способ обойти это?

Мне известен один метод , использующий переключатель -T для «импорта безопасности», но тогда вы должны указать ACL, когда вы импортируете ключ в первую очередь, поэтому любые ключи, добавленные в графический интерфейс Keychain, нужно будет выбросить и повторно импортировать. Не совсем хорошо.

14
задан David Boike 21 January 2011 в 22:29
поделиться