我们的asp.net应用程序工作正常,然后DBA决定在web.config中加密db密码。现在我收到了这个错误:
System.Security.Cryptography.CryptographicException: Not enough storage is available to process this command.
在SO上只有一篇文章列出了这个错误,用户使用了重构而不是识别解决方案。
奇怪的是我们有足够的空间(RAM,HDD等)。更奇怪的是,我团队中的三个人没有这个问题(使用完全相同的URL)。另一个人昨天有这个,但它今天有效。
我担心什么时候把它移到prod。特别是,如果这需要某种增量存储或EACH用户的权限。
编辑:似乎显示的另一个错误是:
"Failed to decrypt using provider 'RsaProtectedConfigurationProvider'"
答案 0 :(得分:4)
事实证明,只要服务器无法使用RSA解密,就会发生这种一般性错误消息。不是很有帮助,因为它具有误导性(在最坏的情况下)并且充其量是非常模糊的。
对我们来说,错误只发生在我身上,因为我们的开发服务器负载均衡(直到今天我都不知道)。加密密钥在一台计算机(server1)上生成并安装在两台服务器上。当我在server2上进行负载均衡时,我看到了这个错误(server2上的其他任何人也是如此)。
解决方案是从server1导出私钥并将其安装到server2上。