加密/创建ASP.NET Forms身份验证票据有哪些输入?

时间:2011-06-15 18:50:34

标签: asp.net iis-6 forms-authentication formsauthentication formsauthenticationticket

我读到的所有东西都指向web.config文件中的MachineKey元素是唯一确定加密票证值的东西,但我现在有很多证据要反驳这一点。

所以我的问题是:什么可以使票证加密值(特别是长度)不同,因为机器密钥和票证内的数据是相同的?

修改

我们看到时间戳导致值的变化。但是,在其中一个环境中,创建的值本身要短得多。其中两个站点(.NET 4,MVC2 / 3)处理得很好。但是,.NET 2.0 / WebForms站点无法使用相同的计算机密钥对其进行解密。

2 个答案:

答案 0 :(得分:1)

MachineKey确定加密/解密的方式。内容包括时间戳,因此即使您输入相同的数据,也可以解释不同的加密值。

答案 1 :(得分:0)

因此,虽然MachineKey和加密算法确定了产生的加密值,但我们已确认存在definitely patches that can affect machine key encryption / decription.

当我们的网络农场的一半被修补时,这变得明显,这产生了与其他网站不同长度的加密票证。这是一大堆补丁,因此我们无法确定导致不同行为的确切补丁。

所以...如果其他人遇到这种非常奇怪的行为,请确保在进行故障排除时比较应用于每个服务器的修补程序和修补程序。