Как добавить авторизации для кодовой подписи приложения из новой связки ключей без какого-либо вмешательства человека

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

  • отключил требование в XCODE требовать подписи кода для сборки.
  • разработал сценарий ruby ​​для сборки приложения с помощью инструмента командной строки xcodebuild
  • создал сценарий для автоматического создания новый брелок для пользователя моей системы
  • написал сценарий для кодовой подписи встроенного приложения для iphone.

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

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

entry 1:
    authorizations (6): decrypt derive export_clear export_wrapped mac sign
    don't-require-password
    description: privateKey
    applications (2):
        0: /usr/bin/codesign (OK)

Итак, я ' Я думаю, что мне нужно использовать команду авторизации в системе безопасности, чтобы предварительно авторизовать кодовую подпись для этих разрешений. Страница руководства по безопасности довольно плохая. Кажется, я не могу заставить его работать с помощью таких команд:

security -v authorize -uew sign | / usr / bin / codeign [переменные кодовых знаков, указывающие на приложение и конкретную связку ключей]

Есть ли у кого-нибудь идеи?

13
задан cmos 5 October 2010 в 14:42
поделиться