2012-10-31 6 views
12

私のVisual Studioソリューションでは、私はWebサイトと参照されている4-5クラスのライブラリプロジェクトを持っていますが、そのうちのいくつかは外部のサードパーティのアセンブリも参照しています。各プロジェクトは別々の強い名前キー(.snk)で署名する必要がありますか?

私はこれらのプロジェクトのためのアセンブリに署名する作業を与えられました。

署名の目的は、公開鍵とバージョンの詳細を提供せずに誰もがアセンブリを使用できないということです。

これらのプロジェクトのすべてのアセンブリに署名するために1つのStrong Name Key(.snk)を使用するか、別の強力な名前キーを使用して各アセンブリを署名する必要がありますか?

強力な名前キーのパスワード保護の目的は何ですか?

どうすればよいですか?

多くのおかげで、署名の目的は、誰もが右、その公開鍵とバージョンの詳細を提供することなく、当社のアセンブリを使用することができるということであることを

+2

アセンブリに署名する目的は、**元の変更されていないバージョン**であることを保証することです。 (署名に関連して使用される他のツールがライセンスされているため)誰でも自由に使用できますが、(悪意のあるソフトウェアなどによって)変更されていないことや、署名は...プライベートです)。 –

+0

アドリアーノは正しいですかhttp://msdn.microsoft.com/en-us/library/h4fa028b.aspx については... http://msdn.microsoft.com/en-us/library /xc31ft41.aspx – Kevin

答えて

12

番署名を検証あなた、出版社。他の人があなたのアセンブリの「偽の」バージョンを作るのを防ぎます。

私は、これらのプロジェクトや各アセンブリのすべてのアセンブリは、別々の厳密な名前のキーで署名されなければならない署名する1つの厳密な名前のキー(た.snk)を使用する必要がありますか?

キーは署名ですので、すべてのプロジェクトに1を使用してください。

強力な名前キーのパスワード保護の目的は何ですか。

署名プロセス全体は、鍵を所有している唯一の人でなければなりません。関連する証明書はありません。部分署名と保護された鍵は、鍵にアクセスできる人の数を制限するのに役立ちます。

+0

ありがとうございます。 .snkファイルはどこに保存する必要がありますか?プロダクションサーバーに置く必要はありませんか? –

+0

キーはビルドサーバーで必要になります。 –

+0

私は署名されていない他のサードパーティのアセンブリを参照できませんか?それは私にエラーを与えるエラーアセンブリの生成に失敗しました - 参照されたアセンブリ 'NameOfThirdPartyAssembly'は、厳密な名前を持っていません。 –

関連する問題