検証をスキップした後、GACからインストールおよびロードできる遅延署名付きアセンブリのセットを使用しています(sn -Vr * .. ..
プロセスとしての遅延署名には公開鍵ファイルのみが必要なので
- sn -k keys.snk(公開鍵と秘密鍵の両方)
- sn -p keys.snk pkey.snk(公開鍵のみ)
- プロジェクトのプロパティにpkey.snkを追加し、[遅延記号のみ]をオンにします
- sn -v(アセンブリが遅延署名されていることを表示します)
- sn -e(pkeyを抽出)
- fc(差分が見つかりません)
SNKファイルの最初の160バイトはPKey ...であり、残りの436バイトは秘密鍵を表していることがわかりました。
開発目的では、sn-Vrまたはsn -R keys.snk(遅延署名されたものを置き換える新しい公開/秘密鍵のペア)で十分ですが、アセンブリから公開鍵を抽出してペアリングするかどうかを知りたいです。あなた自身の秘密鍵でうまくいくでしょう...
これは潜在的なセキュリティの抜け穴である可能性があります(アセンブリは公開鍵トークンで検索されるため)...これを可能にする組み込みツールが.Net Framework/SDKにないのも不思議ではありません。
SNKファイル構造(ファイル形式)全体が文書化されているところはありますか?このアプローチは、一般的に機能しますか?どう思いますか?