2012-07-13 2 views
7

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

Из того, что я могу сказать, команда «безопасность» - это способ манипулировать цепочками ключей в командной строке, но я не могу понять из справочной страницы, как я буду заниматься выполнением этой задачи.

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

  1. Нажмите на сертификат, чтобы показать свой закрытый ключ.
  2. Щелкните правой кнопкой мыши закрытый ключ и выберите пункт меню «Получить информацию».
  3. Перейдите на вкладку «Контроль доступа».
  4. Нажмите кнопку «+», чтобы добавить приложение в белый список.
  5. Выберите приложение (в моем случае Xcode) и нажмите «Добавить».

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

ответ

4

Я не думаю, что есть какой-либо путь от security до этого после ключ был импортирован. Тем не менее, если вы импортируете ключ в первый раз, вы можете использовать флаг -T:

-T Specify an application which may access the imported key 
    (multiple -T options are allowed) 

Так что в моем случае я был в состоянии сделать это:

security import my.key -P mypassword -T /usr/bin/pkgbuild 

И все работало!

0

Отказ

я честен это, вероятно, не самое лучшее место для этого поста ... но я наткнулся на это (и несколько других) записей с более или менее такой же проблемой. См. Также https://stackoverflow.com/a/34388302/359100. Но так как я нашел решение, которое могло помочь другим людям, которые пытаются изменить контроль доступа для частного ключа в Keychain через удаленный сеанс, мое решение могло бы помочь ...

B/c для меня импорт через CLI не работа (используя -T или -A). Я всегда получал эту популярность по поводу доступа из Keychain.

КСТАТИ: Если вы знаете, что лучше ТАК ответить, где это принадлежит ... Пожалуйста, дайте мне знать, или переместить его туда ...

Решение

Создать брелок на вашем локальной машине , Например. name it apple-development [.keychain]. Добавьте туда свои личные ключи и назначьте необходимый контроль доступа (лучше всего: «Разрешить все ...»). Теперь скопируйте этот брелок на свой удаленный Mac и добавьте его туда с помощью приложения Keychain (File/Add Keychain ...). Для CI вы можете сделать что-то вроде этого:

security unlock-keychain -p YOUR-KEYCHAIN-PASSWORD "${HOME}/apple-development.keychain" 
Смежные вопросы