asp.net - 使用 aspnet_regiis 加密 ASP.NET 中的自定义配置部分

标签 asp.net encryption configuration aspnet-regiis.exe

我们正在使用自定义配置部分(通过 NameValueConfigSection)来包含我们的设置。
这些设置通过 configSource 从 web.config 外部化。

因此,web.config 中的条目如下所示:

  <configSections>
    <section name="customSettings" type="System.Configuration.NameValueSectionHandler" />
  </configSections>

  <customSettings configSource="config\customSettings.config" />

我们想在我们的生产服务器上加密这个“customSettings.config”文件,所以按照微软的建议运行这个命令(这里:http://msdn.microsoft.com/en-us/library/zhhddkxy.aspx)
aspnet_regiis -pe customSettings -site 4 -app /

这会产生以下输出:
Encrypting configuration section...
Succeeded!

但是,它根本没有成功,将文件完全保留原样

(顺便说一句,如果加密非自定义部分,例如外部化的 connectionStrings 部分,则此命令确实有效)

我已经能够编写一个运行正常的小控制台应用程序,但我们真的想使用标准工具来做应该是标准操作的事情 - 谁能告诉我这是一个限制还是我哪里出错了?

谢谢 :)

最佳答案

我正在将您的代码与 this 进行比较:

加密connectionStrings在带有机器 key 存储(默认配置)的 DPAPI 提供程序部分,从命令提示符运行此命令:

aspnet_regiis -pe "connectionStrings" -app "/MachineDPAPI" -prov "DataProtectionConfigurationProvider"

在哪里:
-pe指定要加密的配置节。
-app指定 Web 应用程序的虚拟路径。如果应用是嵌套的,从根目录指定嵌套路径,例如“/test/aspnet/MachineDPAPI
-prov指定提供者名称。

我想知道您是否需要提供应用程序名称?和/或提供商?

他们的版本将属性值括在引号中。

关于asp.net - 使用 aspnet_regiis 加密 ASP.NET 中的自定义配置部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6251139/

相关文章:

c# - 在页面加载时将数据传递给 JavaScript

ASP.NET 应用程序无法写入文件夹

java - 解密异常

configuration - gedit 下划线作为 word_character

c# - 如何配置 Fluent NHibernate 以将查询输出到 Trace 或 Debug 而不是控制台?

javascript - 自定义验证器客户端的动态错误消息

encryption - 如何以视觉方式查看PFX文件信息?

c - 在纯 C 中加密字符串以便将它们隐藏在可执行文件中

iphone - 我可以在iPhone Simulator的配置文件中使用数据吗?

用于列出已执行测试的 PHPUnit 配置选项