我正在尝试使用aspnet_regiis -pef
加密配置部分并保护敏感数据。我已经成功地为connectionStrings和system.webServer这样的部分做了这个,但我有兴趣加密特定的子部分(如果可能的话甚至是特定的属性)。
例如,我希望能够加密配置中system.webServer / security / authentication下的身份验证部分。或者,理想情况下,我希望能够仅加密属性或元素值。换句话说,我希望能够给它一个xpath,并且只是加密了XML的特定部分。
这可能吗?是否有办法检索所有可加密的部分?
答案 0 :(得分:1)
我相信你只需在命令行中指定完整路径。不确定它有多深。我尝试了“system.web / membership”并且它有效,但“system.web / membership / providers”没有。
e.g。 aspnet_regiis.exe -pef“system.web / membership”“C:\ MyPath”
我也试过了其他嵌套的部分但是它们都失败了,所以显然还有其他的重要部分。
希望这至少指向正确的方向!
答案 1 :(得分:0)
据我所知,您只能加密配置文件的<configSections>
块中定义的部分。您使用“路径”(即system.web/membership
)指定的内容位于<sectionGroup>
内。
您可以通过打开机器配置找到默认部分的完整列表。请参阅this post以查找machine.config文件。
如果您只想加密直接在代码中访问的某些值,可以create a custom config section and encrypt it,但如果您只想加密部分预定义的.NET配置部分,那么您''可能是运气不好。