【问题标题】:Are there any restrictions when encrypting elements in web config?在网络配置中加密元素时有什么限制吗?
【发布时间】:2013-02-28 18:04:43
【问题描述】:

我发现使用

  "aspnet_regiis" -pef 

  "aspnet_regiis -pe"  

加密 web.cong 中的元素仅适用于几个元素,而不适用于其他元素。

即它适用于“ConnectionStrings”和“appSettings”,但不适用于“system.web”

我能以某种方式加密所有元素吗? 谢谢。

【问题讨论】:

  • 为什么你需要加密更多的连接字符串? .config文件的目的不就是易于配置吗?
  • 是的。但是我在 web.config 中有 nlog 配置部分,其中包括数据库连接字符串。我不能把它放在文件中

标签: c# iis encryption web-config rsa


【解决方案1】:

你可以试试下面的命令:

aspnet_regiis -pe system.web/identity -app /[vdir]

身份是 system.web 中的一个部分

【讨论】:

  • 谢谢。我正在尝试加密其他部分,例如 nlog 连接字符串部分,但没有成功。是否有要加密的允许/限制元素列表?
【解决方案2】:

google了半天终于找到了解决办法。

把它放在这里以供其他用户将来参考。

这篇帖子here 有一个亚当的解决方案 - 他称其为可怕的黑客攻击,我同意,但它确实有效。

我所做的只是将 nlog.dll 复制到 .NET 框架库中,当我运行命令时问题就解决了。

解释—— 元素指向nlog.dll中的接口NLog.Config.ConfigSectionHandler如下:

  <section name="nlog" type="NLog.Config.ConfigSectionHandler, NLog"/>

天知道为什么,当元素被加密时 - aspnet_regiis 搜索这个 dll 而当它没有找到它时 - 它失败了。
只需将其复制到 c:\Windows\Microsoft.NET\Framework\vXXXX

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-05-24
    • 2011-05-08
    • 2016-07-02
    • 2020-07-20
    • 2021-10-26
    • 1970-01-01
    • 1970-01-01
    • 2021-03-03
    相关资源
    最近更新 更多