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