无法加密部分' connectionStrings'使用provider' RsaProtectedConfigurationProvider

时间:2013-03-12 15:23:14

标签: aspnet-regiis.exe

无法使用提供程序'RsaProtectedCo加密“connectionStrings”部分 nfigurationProvider”。来自提供程序的错误消息:对象已存在。

我按照http://msdn.microsoft.com/en-us/library/2w117ede.aspx中的指南进行操作,但是在步骤3中,为了授予对RSA密钥容器的ASP.NET身份访问权限,它说我的身份是我的工作组\用户名,我没有假冒web.config文件虽然

我正在使用我的机器使用asp_regiis加密web.config,然后使用visual studio进行调试然后它出现了这个错误

3 个答案:

答案 0 :(得分:53)

要使用 RsaProtectedConfigurationProvider ,您需要以管理员身份启动命令提示符或Visual Studio

对于 DataProtectionConfigurationProvider ,不需要在管理员权限下运行。

答案 1 :(得分:1)

您可以使用RsaProtectedConfigurationProvider创建自己的提供程序,以便在没有管理员权限的情况下加密您的web.xml。

  1. 创建密钥库:

    aspnet_regiis -pc" MyKeyStore" -exp

  2. 为任何用户授予读取权限:

    aspnet_regiss -pa" MyKeyStore" "域/用户"

  3. 将提供者部分放入web.config

    <configProtectedData>
    <providers>
        <add name="MyRSAProvider" type="System.Configuration.RsaProtectedConfigurationProvider,System.Configuration, Version=2.0.0.0,&#xD;&#xA; Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a,&#xD;&#xA; processorArchitecture=MSIL"keyContainerName="MyKeyStore"useMachineContainer="true" />
    </providers>
    </configProtectedData>
    
  4. 加密您的配置部分:

    aspnet_regiis -pef&#34; configSection&#34; &#34; C:\ pathToWebConf&#34; -prov&#34; MyRSAProvider&#34;

  5. 来源:

    Create RSA key container and provider

    Encrypt configuration

答案 2 :(得分:0)

这发生在我的其中一台服务器上,试图将Web应用程序从c驱动器移动到另一驱动器。

因为我已经加密了驱动器C上的web.config部分并将其移动到另一个驱动器,它阻塞了提供程序,导致它无法加密该部分,因为它认为该部分已经存在。

我仍在尝试修复它。