我一直在开发运行XP家用的老式机器上的ASP.NET网站。我最近得到了一台新的Win 7个人电脑,并将所有项目文件移到了整个项目中当我尝试和运行项目,我得到这个错误信息:的RSA密钥容器不能打开
"Failed to decrypt using provider 'MyRsaProtectedConfigurationProvider'. Error message from the provider: The RSA key container could not be opened."
我意识到,我使用RSA encryption
加密我的web.config文件的部分。这是现在问题所在。我不知道如何让这个键再次工作,以便我可以在我的新机器上使用它。我出口从旧机键和采用进口它:
aspnet_regiis -pi "RSAProviderName" "C:\RSA_configkey.xml"
这是成功导入。然后我运行了该项目,但出现了相同的错误消息。我想这可能是一个权限的事情,所以我跑:
aspnet_regiis -pa "RSAProviderName" "\Desktop" -full
这也是成功的,但我仍然得到错误。从阅读来看,我已经看到人们使用“ASPNET”而不是“\ Desktop”(桌面是我的机器名称)。然而,当我尝试使用“ASPNET”,我得到:
No mapping between account name and security IDs was done. <Exception from HRESULT = 0x80070534
直到这是固定的,我不能在这个项目工作,所以任何的帮助深表感谢。 谢谢!
感谢您的帮助。我应该在下一个小时内访问旧的机器,所以会尝试这种方法。在附注中,重置我授予的权限(例如'\ desktop')的最佳方式是什么?不是太重要,因为我是机器的唯一用户,但可能会更好。 – keyboardP 2010-05-27 14:37:18
谢谢,这解决了问题! – keyboardP 2010-05-27 14:51:31
不客气。要撤消权限,可以使用'-pr'开关再次使用aspnet_regiis。另外,发现在'文件C:\用户\所有用户\微软\加密\ RSA \ MachineKeys'并通过Windows更改premissions。 – 2010-05-27 14:52:05