4

我正在尝试加密我的 web.config。

aspnet_regiis 一直告诉我:找不到配置部分“applicationSettings”。

我关注了这个站点:演练:创建和导出 RSA 密钥容器

我的 web.config 看起来像这样:

<?xml version="1.0" encoding="utf-8"?>
<configuration>

    <configSections>
        <section name="x" type="x" />
     <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
   <section name="x.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
  </sectionGroup>
 </configSections>

    <configProtectedData>
      <providers>
         <add name="MyProvider"
              type="System.Configuration.RsaProtectedConfigurationProvider, System.Configuration, Version=2.0. 0.0,
                    Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a,
                    processorArchitecture=MSIL"
              keyContainerName="MyKeys" 
              useMachineContainer="true" />
      </providers>
   </configProtectedData>

... 

  <applicationSettings>
    <x.Properties.Settings>
      <setting name="PollingInterval" serializeAs="String">
        <value>10000</value>
      </setting>
    </x.Properties.Settings>
  </applicationSettings>
</configuration>

我使用命令:aspnet_regiis -pe "applicationSettings" -app "/MyApplication" -prov "MyProvider"

当我将部分 configProtectedData 移动到 configSections 上方时,它会加密 applicationSettings,但会删除 configSections-Section,无论如何,IIS 告诉我 configSections 需要成为第一个元素。我不确定我做错了什么。

configSections 中列出了 applicationSettings 是否有问题?

感谢您的帮助。

4

1 回答 1

12

好的,找到了解决方案,

如“configSections”中所述,“applicationSettings”是一个 SectionGroup,而不是一个 Section。aspnet_regiis 只能加密部分。

所以我不得不更深入一点:aspnet_regiis -pe "applicationSettings/x.Properties.Settings" -app "/MyApplication" -prov "MyProvider"

于 2013-04-04T10:52:31.210 回答