在簽署從ssh終端會話的應用程序,我收到以下錯誤:productsign錯誤:SignData失敗:CSSMERR_CSP_NO_USER_INTERACTION
productsign[29321:707] SignData failed: CSSMERR_CSP_NO_USER_INTERACTION (-2147415840)
productsign是工作,直到最近。
我該如何解決這個錯誤?
在簽署從ssh終端會話的應用程序,我收到以下錯誤:productsign錯誤:SignData失敗:CSSMERR_CSP_NO_USER_INTERACTION
productsign[29321:707] SignData failed: CSSMERR_CSP_NO_USER_INTERACTION (-2147415840)
productsign是工作,直到最近。
我該如何解決這個錯誤?
我解決了它意外 - 在梳理了幾個小時的網絡 - 同時複製了與Apple支持提交事件報告時的步驟。
從Mac(與ssh會話相反),同一個命令生成一個彈出窗口,要求獲得訪問Keychain的權限。
選擇「始終允許」後,問題就消失了。永遠。
嘗試從這個終端解鎖鑰匙串:
security -v unlock-keychain -p "<Password>" "/Users/<UserName>/Library/Keychains/login.keychain"
基於Danny Schoemann's答案和我自己的研究,我發現完整的解決方案對我來說:
你真的需要使用登錄到您的Mac機GUI,第一次,並簽署任何與您需要的證書。然後您將獲得請求窗口,其中包含可用選項「始終允許」使用此證書(或類似的證書)。
如果你需要保持你的證書中的用戶範圍,則需要每次解鎖鑰匙串在控制檯會話時,你需要簽署的東西(如Alex寫道):
security -v unlock-keychain -p "Password" /Users/<UserName>/Library/Keychains/login.keychain"
你可以把它放到你的腳本中。
明顯減去這個解決方案 - 你需要將你的密碼保存在一些未加密的腳本中,這是不安全的,所以我更喜歡第一個解決方案。
我還必須將'--keychain'參數添加到'productsign',否則它會嘗試打開登錄鑰匙串,並以'CSSMERR_CSP_NO_USER_INTERACTION'失敗。 – UrOni 2016-06-13 13:54:40
這可能是一個問題,如果您試圖簽署一個包,並且您正在通過ssh訪問mac機器。 – bikram990 2013-08-16 09:45:55
@ bikram990 -precisely!這就是導致問題的原因 - 並且是解決方案。 – 2013-08-19 11:21:16