我们正在使用自定义配置部分(通过NameValueConfigSection)来包含我们的设置。 这些设置通过configSource从web.config中外部化。
因此,web.config中的条目如下所示:
<configSections>
<section name="customSettings" type="System.Configuration.NameValueSectionHandler" />
</configSections>
<customSettings configSource="config\customSettings.config" />
我们要在生产服务器上加密此“customSettings.config”文件,因此请按照Microsoft的建议运行此命令(此处:http://msdn.microsoft.com/en-us/library/zhhddkxy.aspx)
aspnet_regiis -pe customSettings -site 4 -app /
这会产生以下输出:
Encrypting configuration section...
Succeeded!
然而,它根本没有成功,完全保留文件
(顺便说一下,如果加密非自定义部分,例如外部化的connectionStrings部分,此命令可以正常工作)
我已经能够编写一个可以正常运行的小型控制台应用程序,但我们真的想使用标准工具来执行应该是标准操作 - 任何人都可以告诉我这是一个限制还是我要去的地方错?
谢谢:)
答案 0 :(得分:3)
我正在将您的代码与this进行比较:
要使用机器密钥存储(默认配置)使用DPAPI提供程序加密connectionStrings
部分,请从命令提示符运行此命令:
aspnet_regiis -pe "connectionStrings" -app "/MachineDPAPI" -prov "DataProtectionConfigurationProvider"
其中:
-pe
指定要加密的配置部分。
-app
指定了网络应用的虚拟路径。如果应用程序是嵌套的,请从根目录指定嵌套路径,例如“/test/aspnet/MachineDPAPI
”
-prov
指定提供者名称。
我想知道您是否需要提供应用名称?和/或提供者?
他们的版本用引号括起属性值。