如何解密FormsAuthenticationTicket?

时间:2012-10-04 03:47:52

标签: asp.net

为了调试生产问题,我需要一个工具来解密身份验证cookie。我写了一个快速脚本来使用FormAuthentication对其进行解密。本质是

FormsAuthenticationTicket authTicket = FormsAuthentication.Decrypt(source.Text);

服务器设置了machineKey,我在这个应用程序中使用相同的密钥。我正在使用Fiddler获取cookie文本。但是,使用FormAuthentication.Decrypt时,我总是无法验证异常。 Cookie设置为HttpOnly。

我错过了什么吗?

注意:有很多类似的问题,但到目前为止,答案都没有帮助我,所以决定发布一个新问题。

1 个答案:

答案 0 :(得分:0)

它似乎与机器或某种机器相关的标识符有关。当我在与生产服务器相同的服务器上运行示例脚本时(即生成cookie的位置)。解密工作正常。我仍然没有深入研究为什么这么做,而是快速反思

System.Web.Configuration.MachineKeySection.EncryptOrDecryptData

告诉Unable_to_validate_data几乎被抛出任何异常。