【问题标题】:Decrypting data that was encrypted with FormsAuthentication.Encrypt解密使用 FormsAuthentication.Encrypt 加密的数据
【发布时间】:2013-04-12 01:43:36
【问题描述】:

我正在部署在开发网络场上的 .Net 4.0 ASP.Net Web 应用程序中通过 FormsAuthentication.Encrypt(data) 将数据加密到 cookie 中。我已经指定了一个 machineKey 属性来对 ValidationKey、DecryptionKey 和 Decryption(算法)进行硬编码。
现在,我正在尝试使用我在开发工作站上构建的应用程序来解密该 cookie。我可以通过 Request.Cookies["CookieName"] 获取 cookie,但是当我尝试通过 FormsAuthentication.Decrypt(encCookie) 解密该值时,出现以下错误:

无法验证数据。在 System.Web.Configuration.MachineKeySection.EncryptOrDecryptData(布尔 fEncrypt, Byte[] buf, Byte[] 修饰符, Int32 start, Int32 length, Boolean useValidationSymAlgo, Boolean useLegacyMode, IVType ivType, 布尔符号数据)在 System.Web.Security.FormsAuthentication.Decrypt(字符串 encryptedTicket) 在 TuoVanitySite.Default.Page_Load(Object sender, EventArgs e) 在 c:\src\ets_2008\main\ebtDev\Sandboxes\rrozinov\TuoVanitySite\TuoVanitySite\Default.aspx.cs:line 22

这是我的网络配置中的模糊(键已被删除):

<machineKey 
  validationKey="keyA" 
  decryptionKey="keyB" 
  decryption="3DES" 
  compatibilityMode="Framework20SP1"/>

有人处理过这种 machineKey 不够用的情况吗?

【问题讨论】:

    标签: asp.net forms-authentication webforms


    【解决方案1】:

    好的,我能够找到解决问题的方法,但是我不确定为什么会这样。 我必须将验证属性添加到 machineKey:

    <machineKey 
      validationKey="keyA" 
      decryptionKey="keyB" 
      validation="SHA1"
      decryption="3DES" 
      compatibilityMode="Framework20SP1"/>
    

    有趣的是,无论我使用 SHA1 还是 3DES,我的代码都可以很好地解密。我确实确认服务器使用的是默认 SHA1。我仍然愿意为教育目的找到根本原因。

    【讨论】:

      【解决方案2】:

      正如“How To: Configure MachineKey in ASP.NET 2.0”文章中提到的那样:

      即使验证设置为 AES 或 3DES,也会使用 HMACSHA1

      因此,如果兼容性模式设置为 Framework20SP1 或 Framework20SP2,则可能会使用 SHA1,而不管验证属性中设置了什么。

      我目前正在为类似的任务而苦苦挣扎 - 在 Windows Server 2012 上的 IIS8 上部署的 ASP.Net 4.0 和 3.5SP1 Web 应用程序之间设置单点登录。由于 Win2k12 具有 .Net 4.5,因此变得更加复杂。 1 这是对 4.0 的“就地”升级...

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-11-17
        • 2010-10-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-04-07
        • 2016-05-21
        相关资源
        最近更新 更多