2014-01-20 15 views
7

コマンドラインユーティリティproductsignを使用してOS Xインストーラパッケージに署名しようとしていますが、エラーが発生します。OS X productsignエラー:適切な署名IDが見つかりません

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

ありがとう、それは問題でした!私は1台のマシン(秘密鍵を持っていた)で証明書を生成し、別のマシン(秘密鍵を持っていなかった)でproductsignを実行しました。あなたの答えを入力してください、私はそれが受け入れられたとしてマークします。 – Ravi

答えて

3

キーチェーンのプライベートキーを確認します。署名を行うには、鍵と証明書の両方が必要です(Appleはこれを「身元」と呼んでいます)。

+0

詳細はどうぞ。私の秘密鍵は私の公開鍵とどこに保存されていますか?たとえば、私は '.cer'ファイルをバックアップしています。私は新しいマックを手に入れました。 '.cer'ファイルをダブルクリックします。それは私のキーチェーンにインストールされます。私は何が欠けていますか? – gman

+0

@gman '.cer'ファイルは単なる証明書です。うまくいけば、あなたの古いキーチェーンを残しておいて、それを開いて_Keys_カテゴリをクリックしてください。1つ以上の秘密鍵が表示されます。彼らに開示用の三角形がある場合は、それらを開いて、署名したい証明書を探します。これはプライベートキーになりますので、新しいMacのキーチェーンにインポートする必要があります。 Keychainを持っておらず、バックアップからキーチェーンを取得できない場合は、新しい鍵をアップロードして新しい証明書を作成する必要があります。 – gaige

3

私は同じ問題がありました。私のインストーラ証明書に秘密鍵はありませんでした。あなたはキーチェーンを開くことによって、これを確認し、のような名前あなたのcertificatを探すことができ :

開発者IDのインストーラ:私の会社(1258345791ZL)

あなた添付の秘密鍵がある場合は、あなたが

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

が表示されます

証明書の下に秘密鍵を展開できない場合、その秘密鍵が失われていることを意味します。これは十分に作成していない場合

そして、この問題を解決するには、Apple IDと

の1-試して削除してdeveloper.apple.comにログオンし、再び

2-あなたの証明書をダウンロードする必要が次の手順

2aとした新しい - (+)をクリックするか、ここに行く:

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

2bに - S pecify制作/開発者のID、その後、

図2cを続行押す -

2dは、「開発者IDインストーラ」を指定 - 、キーホルダー

2Eを使用して証明書要求を作成するための指示に従ってください - で自分の証明書要求ファイルをアップロードapple developper

2f - 新しく作成した証明書をキーチェーンにダウンロードします。

2g - すべての他のインストーラ証明書をクリーンアップしてください。

あなたは署名できます。