Wad*_*gat 1 asp.net 3des web-config
我有一个旧的 asp.net 应用程序,我升级到了 3DES 加密。我的开发机器当然工作正常,QA 工作正常(工作正常,因为加密和解密没有错误)。但是,当我将它部署到登台时,我无法让它工作。该应用程序开始抛出解密错误。
经过大量谷歌搜索后,我发现我必须在 web.config 中添加 compatibleMode="Framework20SP2"。
有人可以帮我理解这是什么吗?为什么我的应用程序可以在其他环境中运行。我知道这有效,但为什么我不明白?
从compatibilityMode我将假设您实际上是在谈论machinekey元素。
我也猜想,因为您没有包含您可能会看到的异常详细信息,例如
使用 或 MachineKey.Protect 和 MachineKey.Unprotect API 时,“验证”属性必须是以下值之一:SHA1、HMACSHA256、HMACSHA384、HMACSHA512 或 alg:[KeyedHashAlgorithm]。
坦率地说,您不应该使用 3DES。这无论如何都不是升级。3DES 是破加密。您遇到的错误很可能试图让您避免使用损坏的加密,因为 .NET 团队希望您安全。使用这种旧的加密,特别是使用 webforms 可以让你暴露在远程代码执行中。
停止使用 3DES。
除非您在 webfarm 中完全停止使用 machinekey 元素,否则让 asp.net 为您自动生成机器密钥,并默认为它认为安全的密钥。
| 归档时间: |
|
| 查看次数: |
80 次 |
| 最近记录: |