2014-01-20 92 views
7

我試圖使用命令行實用程序productsign來簽署OS X安裝程序包,但遇到錯誤。OS X productsign錯誤:找不到合適的簽名身份

productsign --sign "Developer ID Installer: XYZ" input.pkg output.pkg 
productsign: error: Could not find appropriate signing identity for 「Developer ID Installer: XYZ」. 

當我打開鑰匙串訪問,我能看到我在developer.apple.com創建和導入我的登錄鑰匙串的證書。它的通用名稱與我的命令行參數相匹配:「Developer ID Installer:XYZ」。有什麼辦法來調試這個特定的錯誤?

+2

你能看到你的私鑰嗎?您需要證書和私鑰才能進行簽名(蘋果一起稱之爲「身份證」)。 – gaige

+1

謝謝,這是問題!我在一臺機器(它有私鑰)上生成了證書,並在另一臺機器上運行了產品簽名(沒有私鑰)。請輸入您的答案,我會將其標記爲已接受。 – Ravi

回答

3

檢查鑰匙串中的私鑰。您需要密鑰和證書才能簽名(蘋果一起稱之爲「身份證」)。

+0

你可以進入更多的細節?我的私鑰在哪裏存儲與我的公鑰?例如,我備份了'.cer'文件。我有一個新的Mac。我雙擊'.cer'文件。它安裝在我的鑰匙串中。我錯過了什麼? – gman

+0

@gman您的'.cer'文件就是證書。希望你保留舊的鑰匙串,如果是的話,打開它並點擊_Keys_類別。你應該看到1個以上的私鑰。如果他們有公開三角形,請打開這些以找到您想簽署的證書。這將是私鑰,您應該將它導入到新Mac上的鑰匙串中。如果您沒有鑰匙串,並且無法從備份中檢索它,那麼您需要上傳新密鑰並創建新證書。 – gaige

3

我有同樣的問題。我的安裝程序證書沒有私鑰。 您可以通過打開鑰匙串檢查並尋找你certificat命名,如:

開發者ID安裝:我公司(1258345791ZL)

如果您有附加的私人密鑰,您應該看到

Developer ID Installer: My Company (1258345791ZL) (!) Private Key

如果您無法展開證書下的私鑰,這意味着它缺失。

然後解決這個問題,你必須登錄到developer.apple.com與你的Apple ID和

1-嘗試刪除並重新下載證書

2 - 如果這是不夠的創建用以下步驟

2A新 - 點擊(+),或去這裏:

https://developer.apple.com/account/mac/certificate/distribution/create

2B - S pecify生產/開發者ID,然後按繼續

2C - 指定「開發者ID安裝」

2D - 跟隨,用鑰匙串

2E創建證書請求指令 - 上傳您的證書請求文件apple developper

2f - 將新創建的證書下載到您的鑰匙串中。

2g - 清理所有其他安裝程序證書以確保。

等瞧,你可以簽字。

相關問題