2010-06-19 2 views
6

Я делаю удаленную/автоматическую сборку [1] моих проектов xcode [2], и чтобы подписать мои приложения, я добавляю эту строку перед сборкой.Разблокировать брелок OSX без пароля?

security unlock-keychain -p keychainpassword 

Это прекрасно работает, и разблокирует SYSTEM брелки, в которых хранятся в certifcates, но это обнажая пароль для пользователя, который сборки агент работает на в интерфейсе команде города для всех, чтобы видеть.

Процесс сборки работает как зарегистрированный пользователь и является автономным ... есть способ, которым я могу разблокировать брелок системы/по умолчанию без предоставления пароля?

У меня была мысль, что если я перевешу сертификаты в брелок для входа (вместо системы), мне все равно придется разблокировать его с помощью пароля?

Возможно ли это вообще? Или я должен настроить пользователя, который не может нанести какой-либо ущерб, а просто строить и ничего не делать, и выставлять пароль этого пользователя.

[1] Использование Teamcity, но не имеет значения.

[2] Проекты IPhone, но опять же неактуальны.

+1

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

ответ

2

Вы должны иметь возможность строить с помощью обычного (не административного) пользователя и не предоставлять этому пользователю никакого пароля. Затем вы можете автоматически войти в систему как пользователь в вашей системе сборки.

Другой альтернативой является сохранение пароля в переменной окружения, но это едва скрывает пароль.

Если у вас есть обычный пользователь без пароля, и вы добавляете сертификаты в цепочку ключей входа, вы должны иметь возможность создавать удаленно/автоматически/без присмотра без каких-либо проблем, включая подписание кода.

0

security unlock-keychain самостоятельно запрашивает пароль.

Смежные вопросы