0

アセンブリに署名して、 GACに展開し、複数のアプリケーションで共有/再利用できるようにしたいと考えています。

Microsoft は多くのドキュメントを提供していますが、特に ClickOnce 配置をそこに追加すると、実際には説明されません。

sn.exeキーと証明書があります。 と を使用してこれらを自分で作成できますか、またはこれらのツールは開発専用であり、 CA ( Verisignmakecert.exeなど)から取得する必要がありますか?

鍵と証明書の違いは何ですか?

すべてのアプリケーションでキーと証明書を再利用できますか (これが私がやりたいことです)。

キー/証明書に付ける名前 (ファイル拡張子) は? ClickOnce は自動的に.pfxファイルを作成します - それは sn.exe で作成するものですか、それとも.snk?

私のアプリケーションはすべて社内のものであり、ClickOnce を使用せずに MSI ファイルを介してデプロイすることにした場合、これについて心配する必要はまったくありますか?

ファイルを GAC に展開する必要はありません。これは、私が読んでいるものです。

4

1 に答える 1

2

GAC に展開する必要があるのは、厳密な名前の署名だけです。厳密な名前は、アセンブリを識別し、名前、バージョン、およびデジタル署名を含めるために .NET ランタイムによって使用されます。厳密な名前のキー ファイル ( .snk) は、厳密な名前のツール ( ) によって生成できますsn.exe。キー ファイルを取得したら、ツールを使用して手動でアセンブリに署名するか、ビルド時にアセンブリに自動的に署名するようにプロジェクト設定を変更できます。

これらのデジタル署名の検証に関与する認証局 (CA) はありません。アセンブリが別のキーで再署名されることを妨げるものは何もありません。それはあなたのキーではないだけです。また、それらは取り消し不能であるため、安全に保管する必要があることにも注意してください。

パブリッシュするすべてのアセンブリに同じキーを使用できます。

厳密な名前の署名の詳細。

デジタル署名 (Authenticode など) は、アセンブリを識別し、いくつかの追加機能を備えた別のメカニズムです。これらは、アセンブリが改ざんされていないこと、および証明書が CA によって取り消し可能であることを確認するために使用できます。Makecert.exeテスト用の内部証明書を作成するための開発者ツールです。

于 2013-01-02T08:01:41.237 に答える