
我創建了一個非特權用戶來將 Tomcat 8 作為服務啟動。 Tomcat 運行 Jenkins,它用於提供工作,讓我的團隊成員可以上傳 .ipa 檔案和設定文件,然後重新簽署 .ipa 檔案。每當重新簽署 .ipa 檔案時,Jenkins 都會執行 shell 腳本。該 shell 腳本最近已更新,現在呼叫安全性命令,這會導致以下錯誤:
安全性:憑證匯入失敗:找不到預設鑰匙圈。
我需要為非特權 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"
您可以從由非特權使用者執行的 shell 腳本執行該命令(正如我所做的那樣)。