Я нашел обходной путь. Я смог использовать следующее для динамического создания новой цепочки для ключей, добавления сертификата в цепочку для ключей и последующего удаления цепочки для ключей:
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]]
Ex.
default-keychain -h "temp.keychain"
Вы можете запустить эту команду из сценария оболочки, который выполняется непривилегированным пользователем (как я делаю).