私は Java で書かれたアプリケーションを持っており、Mac OS X、Windows、および Linux で配布される予定です。現在、次のように各プラットフォーム用にアプリをパッケージ化しています (ただし、代替が必要な場合は変更します)。
- Mac OS X: Eclipse を使用して、[ファイル] -> [エクスポート] に移動し、[Mac OS X アプリケーション バンドル] を選択します。
- Windows: Launch4jを使用して、jar ファイルを exe ファイルにバンドルします。
- Linux: Jnixを使用して jar ファイルを sh ファイルにバンドルします。
問題は、自分のプログラムが信頼されていないという問題に直面し始めていることです。Google Chrome は、私のアプリのベータ版は信頼できるソースからのものではないと報告し、Windows 8 Smartscreen フィルターは同じことを行います. これらのセキュリティ対策でアプリを信頼できるようにする唯一の方法 (実際に配布したい場合は必ず必要になります) は、アプリに署名することだと理解しています。ただし、これを行う方法に関する貴重な小さなドキュメントを見つけました。そのほとんどは 1 つのプラットフォーム用です (たとえば、これは Windows 8 の署名について教えてくれます)。
私の質問は: Java コードに一度署名すると、作成した実行可能ファイルに自動的に署名する方法はありますか? それとも、各実行可能ファイルに個別に署名する必要がありますか? 後者の場合、使用できるコード署名機関は 1 つですか、それとも異なるグループで個別に署名する必要がありますか?