1

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

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

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

我错过了什么吗?

注意:有许多类似的问题,但到目前为止没有一个答案对我有帮助,因此决定发布一个新问题。

4

1 回答 1

0

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

System.Web.Configuration.MachineKeySection.EncryptOrDecryptData

告诉 Unable_to_validate_data 几乎所有异常都会被抛出。

于 2012-10-10T05:22:17.183 回答