System.Security.Cryptography.CryptographicException:没有足够的存储空间可用于处理此命令

时间:2014-05-06 15:44:08

标签: asp.net .net encryption web-config rsa

我们的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'"

1 个答案:

答案 0 :(得分:4)

事实证明,只要服务器无法使用RSA解密,就会发生这种一般性错误消息。不是很有帮助,因为它具有误导性(在最坏的情况下)并且充其量是非常模糊的。

对我们来说,错误只发生在我身上,因为我们的开发服务器负载均衡(直到今天我都不知道)。加密密钥在一台计算机(server1)上生成并安装在两台服务器上。当我在server2上进行负载均衡时,我看到了这个错误(server2上的其他任何人也是如此)。

解决方案是从server1导出私钥并将其安装到server2上。