2012-03-16 18 views
17

今後のOSXバージョン(OSX Lionの後のバージョン)のノートを見ると、Mac App Store経由で配布されていなくても、すべてのDMG /インストーラを署名する必要があるようです。OSX/XCode/Mac App Store以外のOSX DMGにゲートキーパーが署名していますか?

この署名を行うためのコマンドラインツール、またはApp Storeに送信しないで署名証明書を取得する方法に関する多くのドキュメントが見つかりませんでした。

誰かに光を当てることができます: 1)Mac App Store経由でアプリを配布することなく証明書を取得するにはどうすればよいですか? 2)組み込みXCodeツールを使用せずにDMGに署名する方法(クロスプラットフォームツールが望ましい)?

ありがとうございます!

+0

OS X 10.8の詳細はまだNDAの下にあります。 – duskwuff

+3

OK、これを「Snow LeopardのDMGに署名する方法」として扱います。私はまた、「NDAの下にあるもの」について言及しないように、質問によって編集した。会話に意味のあるものを提供するのではなく、クローズボタンを押す喜びがあなたのトリガーを楽にしてくれることを願っています。 – psychotik

+0

(プロビジョニングプロファイルを含む)署名するための仕事が最も多い 'xcrun'ツールをチェックしてください。 – Eimantas

答えて

4

コード化の詳細はherehereで説明されています - 基本的に証明書を取得し、アプリケーションに署名する必要があります...現在、DMG自体に署名する公式文書はありません。あなたの2番目の質問(クロスプラットフォームの署名)に関しては、そのようなツールはありません(Appleが公式にサポートしているものは少なくともありません)。将来のOS Xのバージョンに関する情報については、適切なAppleフォーラム(通常はNDA関連のフォーラムもあります)について質問することを強くお勧めします。

4

それは超簡単です:

DMGに続いて
CODESIGN_IDENTITY='Name of Code Sign Cert' # Found in Keychain Access 

codesign -s "$CODESIGN_IDENTITY" -v path/to/YourApp.app 

codesign -s "$CODESIGN_IDENTITY" -v path/to/YourApp.dmg 

これもUDZOのような読み取り専用DMGSの上で動作します。

+0

うわー、DMG署名はどのように動作するのですか?hfs +メタデータですか? –

2

署名ディスクイメージ(出典:Apple

ディスクイメージは、協調設計ツールのMacOS 10.11.5に、後を使用して署名することができます。これにより、最初にマウントされたときに、ディスクイメージ全体がゲートキーパーによって検証されます。

ゲートキーパーもディスクイメージの内容を検証します。

ディスクイメージは、開発者IDのアプリケーションIDでのみ署名する必要があります。

MacOSのシエラで

以降、spctlはこのように、ディスクイメージの署名を評価するために使用することができます。

$ spctl -a -tオープン--contextコンテキスト:主署名-v MyImage.dmg /Users/me/Downloads/MyImage.dmg:受け付けソース=開発者ID

注:ディスクイメージを再署名することができない場合がありOS X 10.11.5または10.11.6に署名しました。この状況では、操作は成功したように見えますが、署名は無効になります。このような状況が発生した場合は、macOS Sierra以降でイメージの新しい(署名されていない)コピーに署名してください。

関連する問題