我们的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上。

07-24 19:49