获取当前的MachineKey或设备,用于HMAC(在web-farm中)

本文关键字:HMAC 用于 web-farm MachineKey 获取 | 更新日期: 2023-09-27 17:50:38

我在web-farm环境中使用HMACSHA256进行消息验证。

在web-farm中,每台机器都有相同的机器密钥,所以ViewState将跨机器工作,然而,我需要做HMAC消息认证,这将跨机器工作,所以我认为,既然所有机器使用相同的机器密钥,应该有一种方法从中获得一个密钥作为HMAC密钥。

我注意到在。net 4.0中有了MachineKey类,然而,我还是坚持使用。. NET 3.5,这对我来说是不可用的

是否有一种方法可以在所有机器上获得相同的排序键,而无需生成自己的键,用于ASP。. NET 3.5环境?

<标题>编辑

我实际上不需要机器密钥本身,只需要从机器密钥派生的验证密钥(或等效的)。

获取当前的MachineKey或设备,用于HMAC(在web-farm中)

您可以从web.config中读取机器密钥。这个链接展示了如何这样做:http://aspnetresources.com/blog/how_to_read_auto_generated_machinekey

请记住,本文的作者读取生成的机器密钥-因此您必须在代码中做一些更改。

我只是稍微读了一下这篇文章,看到它使用了反射,这是没有必要的,如果你将机器密钥存储在web.config中。从本质上讲,它分解成这一行:

MachineKeySection section = (MachineKeySection) 
  ConfigurationManager.GetSection ("system.web/machineKey");