開発者または開発チームがコードの署名を希望/必要とするユースケースは何ですか?
デジタル署名は、プラットフォームによって意味が異なります。Windows デスクトップ ソフトウェアを作成している場合、実行可能ファイルに署名することの最初の最大のメリットは、Windows XP SP2 以降、Windows がユーザーに表示している「不明な発行元」という厄介な警告を取り除くことです。他のプラットフォーム (一部のモバイル、Java、Flash、Office VBA マクロなど) では、権限を昇格させるために署名付きコードが必要です。
Windows プログラムに独自のデジタル署名を自己チェックさせて、それが有効であることを確認できます。これは、EXE が署名されてからまったく変更されていないことを意味します。ほとんどの場合、マルウェアや著作権侵害に対する別の保護層としてこれを使用します。
これもチェックしてください:
http://blog.ksoftware.net/2011/07/what-is-authenticode/
署名できる/すべきコードの種類は? JavaScript? ジャワ?C++? 言語/プラットフォームごとに異なるタイプのコード署名がありますか?
理論的には、あらゆるドキュメントにデジタル署名することが可能ですが、ほとんどの場合、人々がコード署名について話しているときは、MS Authenticode (任意の PE 形式のファイル (EXE、DLL、COM など) にデジタル署名を添付すること、または実行可能ファイルに署名すること) について話しています。 OSX/iOS 用。
さまざまなプラットフォームでさまざまな種類の署名がありますが、ほとんどは同じ証明書を使用します。
コードは生のソースとして署名されていますか、それともコンパイルされたバイナリとして署名されていますか?
ほとんどのコンテキストでは、バイナリ。