我在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)!