8

コード署名をオンラインで検索すると、デジタル証明書で署名されたコードを取得する場所に関するヒットが大量に表示されますが、コードに署名する必要がある場合や、署名が必要な理由に関する記事やドキュメントはありません。だから私はこれらの質問を提起します:

  • 開発者または開発チームがコードの署名を希望/必要とするユースケースは何ですか?
  • 署名できる/すべきコードの種類は? JavaScript? ジャワ?C++? 言語/プラットフォームごとに異なるタイプのコード署名がありますか?
  • コードは生のソースとして署名されていますか、それともコンパイルされたバイナリとして署名されていますか?

前もって感謝します。

4

3 に答える 3

2

理論的には、任意の言語の任意のコードに、ソースとして、より一般的にはコンパイル済みのバイナリとして署名できると思います。

私が思いつく主な使用例は、モバイル アプリケーション (この例では Android) です。公開する前にコードに署名する必要があります。また、キー ストア ファイルを保持する必要があるため、アプリケーションを更新してアップロードする場合は、同じキーで署名します。これは、Android がアプリケーションをアップグレードするときに多くのことをチェックするためです。主なものは、キー ストア ファイルとそのパスワードが十分に秘密に保たれている限り、古いものと新しいものでコード署名が同じであることです。同じソース。誰かが何らかの方法でコードを変更した場合、署名の検証は失敗します。

簡単に言えば、コードに署名することで、エンドユーザー/マシンはコードの出所を知ることができます。また、アップグレードの場合、コードを変更して他の人にダウンロードさせることが困難/不可能になります。

Apple は iOS 用のコード署名に夢中になっており、私はすべての詳細を完全には把握していませんが、Apple から証明書 (1 つ以上) を取得して署名する必要があります。アプリをテスト デバイスに配置する場合は、署名してデバイスにインストールするための別の証明書が必要です。 Appleが承認したことをiOSデバイスが知るための秘密鍵。

于 2012-06-21T19:21:16.307 に答える
0

コードが信頼できるソースからのものであり、誰もコードを変更していないことを確認する必要があるたびに(署名には通常チェックサムが付属しています)。それは非常に一般的です。プログラミングライブラリ、ソフトウェアディストリビューション、ソフトウェアアップグレード。コードの特許を取得する必要がある場合は、コードに署名して信頼できるタイムスタンプを取得する必要があります。銀行を作成してインターネット経由でアクセスを許可すると、SSL経由でユーザーにWebページが送信されます=ユーザーは暗号化して署名します。そしておそらくもっとたくさん

于 2012-06-21T23:06:20.850 に答える
0

開発者または開発チームがコードの署名を希望/必要とするユースケースは何ですか?

デジタル署名は、プラットフォームによって意味が異なります。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 用。

さまざまなプラットフォームでさまざまな種類の署名がありますが、ほとんどは同じ証明書を使用します。

コードは生のソースとして署名されていますか、それともコンパイルされたバイナリとして署名されていますか?

ほとんどのコンテキストでは、バイナリ。

于 2012-06-27T18:24:23.297 に答える