
У меня есть непривилегированный пользователь, которого я создал для запуска Tomcat 8 как службы. Tomcat запускает Jenkins, который используется для предоставления заданий, в которых члены моей команды могут загружать файл .ipa и профиль подготовки, а затем повторно подписывать файл .ipa. Jenkins запускает скрипт оболочки всякий раз, когда он повторно подписывает файл .ipa. Этот скрипт оболочки был недавно обновлен и теперь вызывает команду безопасности, что приводит к следующей ошибке:
безопасность: импорт сертификата не удался: не удалось найти связку ключей по умолчанию.
Мне нужно установить связку ключей по умолчанию для моего непривилегированного пользователя Tomcat.
Как добавить связку ключей по умолчанию для непривилегированного пользователя или разрешить этому пользователю использовать эту связку ключей?
Я не уверен, нужно ли мне запускать команду или указывать связку ключей в моем tomcat.plist.
решение1
Я нашел обходной путь. Я смог использовать следующее, чтобы динамически создать новую связку ключей, добавить сертификат в связку ключей, а затем удалить связку ключей:
security create-keychain -p temp "temp.keychain"
security add-certificates -k "temp.keychain" "ios_distribution.cer"
security unlock-keychain -p temp "temp.keychain"
security cms -D -k "temp.keychain" -i "blah.mobileprovision" > <entitlements>
...do some stuff...
security delete-keychain -h "temp.keychain"
Если вы хотите настроить связку ключей для непривилегированного пользователя, вы можете использовать следующую команду:
default-keychain [-h] [-d user|system|common|dynamic] [-s [keychain]]
Бывший.
default-keychain -h "temp.keychain"
Эту команду можно запустить из скрипта оболочки, который выполняется непривилегированным пользователем (как это делаю я).