首页 > 解决方案 > ASPNET_RegIIS 无法加密 applicationSettings(以及 web.config 中的其他部分?

问题描述

我正在尝试使用 ASPNET_RegIIS.exe 来加密 web.config 中的 <applicationSettings> 部分。我以管理员身份运行 Visual Studio 开发人员命令提示符,并在 web.config 进入时将 CD 放入 Web 应用程序的文件夹。然后我运行命令:

aspnet_regiis.exe -pdf "applicationSettings" .

我得到的结果是:

Decrypting configuration section...
The configuration section 'applicationSettings' was not found.
Failed!

我肯定在 web.config 文件中有 <applicationSettings> 部分。所以我尝试使用相同的语法来加密不同的部分并收集结果:

<configSections> Failed.
<appSettings> Success.
<connectionStrings> Success.
<system.web> Failed.
<runtime> Failed.
<system.codedom> Success.

所以我想,也许 ASPNET_RegIIS.exe 只能加密一组预定义的节名。为此,我通过创建一个具有随机名称的新部分进行了测试。

<applicationSettingsConax>

令我惊讶的是,它能够加密它!所以我想,也许是 <applicationSettings> 里面的设置导致了这个问题。所以我将 <applicationSettings> 中的所有设置复制到 <applicationSettingsConax> 中,它仍然能够加密 <applicationSettingsConax>。

现在我真的很困惑。为什么 ASPNET_RegIIS.exe 不能加密 web.config 中的许多部分,但可以加密具有随机创建名称的部分?

(是的,我用谷歌搜索并没有找到任何信息。我​​已经阅读了官方的 MS 页面https://docs.microsoft.com/en-us/previous-versions/aspnet/zhhddkxy(v=vs.100),并且那里也没什么好说的。这不足为奇。)

标签: encryptionweb-config

解决方案


大多数情况下,只要我发布一个问题,我就找到了答案……这次,从这里开始: https ://forums.asp.net/t/1269197.aspx?encrypting+applicationSettings+与+aspnet_regiis

我需要这样做:

aspnet_regiis.exe -pef "applicationSettings/GeneralWebApplicationTests.Properties.Settings" .

推荐阅读