当前位置:首页 > 操作系统 > MacOs

c# – 为HMAC获取当前的MachineKey或等效值(在web-farm中)

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

在web-farm中,每台机器都有相同的机器密钥,因此ViewState可以跨机器工作,但是,我需要进行跨机器的HMAC消息认证,所以我认为由于所有机器都使用相同的机器密钥,因此应该是一种从中导出密钥以用作HMAC密钥的方法.

我注意到,从.NET 4.0开始,有MachineKey类,但是,我坚持使用.NET 3.5,这对我来说是不可用的.

有没有办法在所有机器上获得一个相同的排序键而不生成我自己的,在ASP.NET 3.5环境中使用?

编辑

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

解决方法:

您可以从web.config中读取计算机密钥.此链接显示了如何执行此操作:http://aspnetresources.com/blog/how_to_read_auto_generated_machinekey

请记住,文章的作者会读取生成的计算机密钥 – 因此您必须对代码进行一些更改.

我只是阅读了一篇文章,并且看到它使用反射,如果将机器密钥存储在web.config中,则不需要反射.
基本上它分解为这一行:

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

【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!

相关教程推荐

其他课程推荐