Избегайте необходимости вводить пароль цепочки для ключей для altool

Мне нужно автоматизировать процесс нотариального заверения приложения MacOS. Для этого я создал общий пароль:

security add-generic-password -a <apple_id> -w <app specific passwd> -s "ALIAS" build.keychain-db

Теперь, чтобы не вводить пароль, я также добавил:

security set-generic-password-partition-list -S apple-tool:,apple: -s "ALIAS" -k <keychain_passwd> <keychain>

И, наконец, я запускаю команду altool, но все еще получаю всплывающее окно с запросом пароля для цепочки для ключей.

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


person RuLoViC    schedule 17.06.2019    source источник


Ответы (1)


Чтобы диалоговое окно подтверждения безопасности не появлялось, либо щелкните Always allow один раз, либо измените соответствующую запись цепочки для ключей. Это работает следующим образом:

  • Найдите путь к altool, открыв оболочку и набрав xcrun -find altool.
  • Either use this path as argument -T <path> when creating the password using the security add-generic-password command:
    • security add-generic-password -a <apple_id> -w <app specific passwd> -s "ALIAS" -T <path_to_altool> build.keychain-db
  • Or use the keychain access app:
    • Open Keychain Access.app.
    • Выберите ввод пароля, выберите меню File > Get Info (или нажмите Cmd+I или щелкните значок ).
    • В этом диалоговом окне выберите вкладку Access Control и нажмите кнопку +. Откроется диалоговое окно выбора файла.
    • Откройте Finder, выберите меню Go > Go to Folder… и вставьте путь к altool (часть каталога без самого altool, например, /Applications/Xcode.app/Contents/Developer/usr/bin/).
    • Перетащите altool на открытую панель Keychain Access и нажмите кнопку Add.
person DarkDust    schedule 18.06.2019
comment
Я проверю это и дам вам знать - person RuLoViC; 18.06.2019
comment
К сожалению, это не работает для меня. Я запускаю security add-generic-password, как вы показали мне ранее, но затем, когда я запускаю altool с @keychain:ALIAS, я получаю *** Ошибка: указанный элемент не может быть найден в цепочке ключей. - person RuLoViC; 18.06.2019
comment
Ах, кажется, использование пользовательской цепочки для ключей не поддерживается, поддерживается только цепочка для входа в систему altool: Обратите внимание, что altool не может получить доступ к вашей цепочке ключей iCloud из соображений безопасности, поэтому элемент должен находиться в вашей цепочке ключей для входа. - person DarkDust; 19.06.2019
comment
Во всяком случае, я не понимаю, почему вы пытаетесь использовать связку ключей в этом случае: у вас уже есть пароль в виде открытого текста, не так ли? Затем передайте это в параметр -p altool вместо @keychain:<itemname>. - person DarkDust; 19.06.2019