問題タブ [assembly-signing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
2083 参照

c# - オープンソース プロジェクト用に厳密な名前のキー ファイルをセキュリティで保護する必要がありますか?

テンプレートでアセンブリを参照しやすくするために、コンパイル済みアセンブリをオープンソース プロジェクトから GAC にインストールするスターター キットを作成しています。それらは GAC に入るため、署名する必要があります。

キー ファイルをパスワードで保護してセキュリティで保護する必要がありますか? または、キー ファイルを開いたままにして、ファイルをソース管理に含めても問題ありませんか?

0 投票する
3 に答える
34713 参照

c# - 友達の集会を宣言する方法は?

ソリューションには2つのプロジェクトがあります。

  1. アセンブリ(基本ライブラリ)
  2. テストアセンブリ(NUnit)

私は最初のプロジェクトでテストアセンブリをフレンドアセンブリとして宣言しました。

アセンブリに署名するためのソリューションをセットアップするのを忘れていることに気付くまで、すべてが正常に機能していました。そこで、snkファイルを作成し、最初のアセンブリ(基本ライブラリ)に署名するようにVisualStudioプロジェクトをセットアップしました。最初のプロジェクトをコンパイルすると、次のエラーが発生します。

フレンドアセンブリ参照'Company.Product.Tests'が無効です。厳密な名前で署名されたアセンブリは、InternalsVisibleTo宣言で公開鍵を指定する必要があります。

snユーティリティを使用してsnkファイルから公開鍵を抽出しようとしましたが、使用方法がわからない有線バイナリファイルが生成されます。どうすれば問題を解決できますか?

0 投票する
3 に答える
7615 参照

c# - .NETアセンブリの署名

デジタル署名は、強力な名前付きアセンブリと何の関係がありますか。強く名前が付けられたアセンブリには、公開鍵とデジタル署名が付いていることを読みました。

ウィキペディアの記事「アセンブリ(CLI)」から:

「アセンブリに署名するには、アセンブリの重要な部分のハッシュを取得し、秘密鍵を使用してハッシュを暗号化する必要があります。署名されたハッシュは、公開鍵とともにアセンブリに保存されます。公開鍵は、署名されたハッシュを復号化します。CLRの場合厳密に名前が付けられたアセンブリをロードすると、アセンブリからハッシュが生成され、復号化されたハッシュと比較されます。比較が成功した場合は、ファイル内の公開鍵(したがって公開鍵トークン)が秘密鍵に関連付けられていることを意味します。アセンブリに署名するために使用されます。これは、アセンブリの公開鍵がアセンブリ発行者の公開鍵であるため、なりすまし攻撃が阻止されることを意味します。」

上記の情報は正確ですか?デジタル署名への参照はありません。アセンブリの署名方法、署名の検証方法、およびハッキングの可能性の排除方法を説明するMSDNページが見つかりませんでした。これらについてもっと知りたいです。

0 投票する
5 に答える
19286 参照

asp.net - dll、特にflute.dllに既に組み込まれているアセンブリに署名する方法

dll に署名する理由は、それをグローバル アセンブリ キャッシュに追加するためです。アセンブリは、Java で記述され、J# に移植された css 解析エンジンです。私は VS2008 を使用しているため、J# プロジェクトを作成できません。厳密な名前のキーが割り当てられておらず、構築された今ではその方法がわかりません。

誰にもアイデアはありますか?

0 投票する
3 に答える
7322 参照

.net - 複数のプロジェクトと開発者がアセンブリに署名するためのベスト プラクティス

30 人を超える開発者、20 を超えるソリューション、および 60 を超えるプロジェクトを抱える組織で、署名済みアセンブリを適用するための推奨事項とベスト プラクティスを探しています。Visual Studio Team System 2008 と TFS を使用しています。

キーの作成とアセンブリへの署名は非常に簡単で単純な手順ですが、これをどのように管理するのが最善の方法なのかが気になります。

これまでの私の考え:

  • 通常、3 ~ 20 個のプロジェクトを持つ各ソリューションには、ソリューション ルート フォルダーに配置された単一の .pfx キー ファイルがあります。
  • 各ソリューションには、キーの一意の強力なパスワードがあります。

そのアプローチで問題が発生することはありますか?

その他のアイデア:

  • ソリューション全体のすべてのプロジェクトに同じキー ファイルを使用します。これは私たちにとって物事をより簡単にしますか?それは悪い考えですか?それは可能ですか?
  • 各プロジェクトには独自の一意のキーが必要ですか? なぜ、なぜですか?

意見、良い/悪い経験、および推奨事項は大歓迎です。:)

0 投票する
1 に答える
1911 参照

visual-studio-2008 - スクリプトを使用して Visual Studio で dll の署名を削除する

ca の C# ソリューションがあります。テスト プロジェクトを含む 55 プロジェクト。

プロジェクトの一部は共有ポイントであるため、すべての dll が署名されています。

コード カバレッジで単体テストを実行したいと考えています。次に、コード カバレッジが署名付き dll を計測できないという問題が発生します。

したがって、dll の署名を解除し、テストを実行してから、再署名する必要があります。多数のプロジェクト ファイルがあると、これは面倒です。

質問は次のとおりです。これを何らかの方法で自動化することは可能ですか? (退会するには、チェックアウトを元に戻すだけです)

0 投票する
1 に答える
3713 参照

visual-studio - 厳密な名前のキー ファイルをパスワードで保護する必要があるのはいつですか?

ビジュアル スタジオのプロジェクト設定では、アセンブリに署名するための厳密な名前のキー ファイルを選択できます。新しいものを作成するときは、パスワードで保護することを選択できます。いつこれを行う必要がありますか?そして、いつすべきではないのですか?

たとえば、プロジェクトが Codeplex などでホストされているオープン ソース プロジェクトである場合、パスワードで保護するのはあまりスマートではない可能性があると考えています。それともまだ保護する必要がありますか?キーファイルが保護されている場合、ソースをダウンロードしてコンパイルすることはできませんか? または、これはどのように正確に機能しますか?

0 投票する
3 に答える
3566 参照

c# - オープンソース プロジェクトの厳密な名前のキー ペアを管理するための推奨される方法は何ですか?

私はオープンソース プロジェクトを管理しており、プロジェクトのバイナリ パッケージでリリースされるバイナリに署名したいと考えています。Visual Studiocsprojslnファイルを使用してプロジェクトを管理およびビルドし、これらのファイルをプロジェクトのソース パッケージの一部として配布しています。

snkビルドの生成されたバイナリに署名し、キー ペア ファイルを配布する必要がないようにするにはどうすればよいですか? Visual Studio を使用してアセンブリに署名すると、各プロジェクト ファイルをビルドするためにキー ペアのコピーが必要になります。パスワードで保護されていても、キーペアを配布することに不安があります。

編集

もう 1 つの注意点は、プロジェクト内の一部のアセンブリが を介してフレンド アクセスを許可InternalsVisibleToAttributeし、プロジェクト参照を介してそれらのフレンドをビルドすることです。したがって、このようなアセンブリは、署名されたアセンブリを参照するときに厳密な名前を使用する必要があります。ただし、キーペアが配布されていない場合、エンドユーザーはどのようにしてソースを構築し、プロジェクトの関係を維持できますか? 一時的なキー ペア ファイルが使用されている場合、署名されたアセンブリの公開キー トークンが変更され、InternalsVisibleToAttribute参照が壊れることはありませんか?

0 投票する
3 に答える
3752 参照

c# - c#-強力な名前付きアセンブリへの「弱い」アセンブリ参照を作成できますか

さまざまな理由から、プロジェクトで強力な名前の付いた(署名された)アセンブリを使用したくありません。ただし、プロジェクトの1つは、SharePoint Webパーツによって参照されているため、署名する必要があります。

このアセンブリに署名することは可能ですが、他のプロジェクトから参照する場合は、強力でない参照を使用して署名してください。これにより、コードの残りの部分で署名されていないアセンブリを使用できるという利点が得られますが、SharePointでロードすることもできます。

0 投票する
6 に答える
7076 参照

.net - VS 2010 で C++ CLI アセンブリに署名する簡単な方法はありますか?

現在、Linker/Advanced/KeyFile オプションを設定しています。

「 mt.exe : 一般的な警告 810100b3: 厳密な名前の署名付きアセンブリであり、マニフェストを埋め込むと署名が無効になります。このファイルを有効なアセンブリにするには、このファイルに再署名する必要があります。」というメッセージが表示されます。.

Web から読むと、遅延署名オプションを設定し、SDK をダウンロードし、ビルド後のイベントとして sn.exe を実行する必要があるようです。VS2010 でこの一般的な操作を行うためのより簡単な方法があるに違いありません。