4

Webファーム環境でのメッセージ認証にHMACSHA256を使用しています。

Webファーム内では、各マシンが同じマシンキーを持っているため、ViewStateはマシン間で機能しますが、マシン間で機能するHMACメッセージ認証を実行する必要があるため、すべてのマシンが同じマシンキーを使用するため、 HMACキーとして使用するために、そこからキーを派生させる方法である必要があります。

.NET 4.0の時点でMachineKeyクラスがあることに気付きましたが、 .NET 3.5の使用に固執しており、これを利用できません。

ASP.NET 3.5環境で使用するために、自分で生成せずにすべてのマシンで同じソートキーを取得する方法はありますか?

編集

実際にはマシンキー自体は必要ありません。マシンキー(または同等のもの)から派生した検証キーだけが必要です。

4

1 に答える 1

7

マシン キーは web.config から読み取ることができます。このリンクは、その方法を示しています: http://aspnetresources.com/blog/how_to_read_auto_generated_machinekey

記事の作成者は、生成されたマシン キーを読み取ることに注意してください。そのため、コードにいくつかの変更を加える必要があります。

記事をもう少し読んだところ、リフレクションが使用されていることがわかりました。これは、マシン キーを web.config 内に保存する場合は必要ありません。基本的に、次の行に分解されます。

MachineKeySection section = (MachineKeySection) 
  ConfigurationManager.GetSection ("system.web/machineKey");
于 2013-01-03T14:57:04.993 に答える