key*_*rdP 15 asp.net permissions configuration rsacryptoserviceprovider
我一直在运行XP home的旧机器上开发一个ASP.NET站点.我最近得到了一台新的Win 7 PC,并将我的所有项目文件都移动了.当我尝试运行该项目时,我收到以下错误消息:
"Failed to decrypt using provider 'MyRsaProtectedConfigurationProvider'. Error message from the provider: The RSA key container could not be opened."
我意识到我使用a加密了我的web.config文件的一部分RSA encryption
.这就是现在问题所在.我不确定如何再次使用该键,以便我可以在我的新机器上使用它.我从旧机器导出密钥并使用以下方法导入它:
aspnet_regiis -pi "RSAProviderName" "C:\RSA_configkey.xml"
这是成功导入的.然后我运行了该项目,但出现了相同的错误消息.我认为这可能是一个许可的事情,所以我跑了:
aspnet_regiis -pa "RSAProviderName" "\Desktop" -full
这也很成功,但我仍然得到错误.从阅读,我看到人们使用"ASPNET"而不是"\桌面"(桌面是我的机器名称).但是,当我尝试使用"ASPNET"时,我得到:
No mapping between account name and security IDs was done. <Exception from HRESULT = 0x80070534
在修复之前我无法完成项目,因此非常感谢任何帮助.谢谢!
Dav*_*ray 28
如果您仍然可以访问旧计算机,则可以始终解密该计算机上的配置部分,然后将未加密的配置文件复制到新计算机(如果需要,还可以重新加密旧计算机上的文件).
在Windows 7上,默认情况下运行IIS应用程序池的帐户可能是ApplicationPoolIdentity(而不是ASPNET).要授予权限,请尝试以下操作:
aspnet_regiis -pa RSAProviderName "IIS APPPOOL\DefaultAppPool" -full
Run Code Online (Sandbox Code Playgroud)
顺便说一句,如果您决定坚持将密钥从旧计算机复制到新计算机,则应确保在导出时导出私钥数据:
aspnet_regiis -px RSAProviderName C:\RSA_configkey.xml -pri
Run Code Online (Sandbox Code Playgroud)
并且,可选地,在导入期间使密钥数据可导出:
aspnet_regiis -pi RSAProviderName C:\RSA_configkey.xml -exp
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
35326 次 |
最近记录: |