加密web.config失败错误

ali*_*ce7 20 asp.net security iis configuration

我知道ppl已经提出了有关加密web.config的问题.

我也试图加密我的测试配置文件,但我得到这个错误.

aspnet_regiis -pef"connectionStrings""C:\ encryptedWeb.config"加密配置部分...无法打开物理路径"C:\ EncryptedWeb.config"的配置.失败!

我只是想知道,失败的原因可能是什么.

我得到了答案,这是web.config的readonly属性,这是问题所在.我删除了readonly后就像一个魅力.

小智 34

对于命令"aspnet_regiis -pef",配置文件的路径是物理路径(非虚拟),也是web.config所在的目录/文件夹的路径.所以不应该在路径中包含文件名,例如

如果您的web.config路径在D:\MyConfiguration\web.config加密/解密时,您将使用它如下:

加密:

aspnet_regiis -pef [sectionName] "D:\MyConfiguration"

解密:

aspnet_regiis -pdf [sectionName] "D:\MyConfiguration"

  • 甚至 D:\MyConfiguration\ 中的额外反斜杠也会引发非法字符错误 (2认同)

小智 8

这些部分区分大小写。

不要\在路径末尾添加(不需要 web.config)。

您不需要直接在网站上进行操作;相反,将文件复制到任何位置。

加密:

aspnet_regiis -pef "SECTIONTOENTRYPT" "d:\tempEnCrypt" -prov WhateverProviderYouAreUsing 
Run Code Online (Sandbox Code Playgroud)

解密:

aspnet_regiis -pdf "SECTIONTOENTRYPT" "d:\tempEncrypt"
Run Code Online (Sandbox Code Playgroud)

您也可以使用它来加密 app.config,只需将用于加密/解密的文件重命名为 web.config


Per*_*rcy 7

我知道这很旧,但是我遇到了同样的问题,其他答案都没有解决这个问题。

您不应该将文件名放在路径中,并且必须调用文件web.config。因此,以您的示例为例,如果您的web.config文件确实在其中C:\,则将:

aspnet_regiis -pef "connectionStrings" "C:\"
Run Code Online (Sandbox Code Playgroud)

并且您的文件必须被调用,web.config因为该工具只会查找该文件。

对于文件不在其中的那些人,C:\您需要将文件的完整路径(网站的根目录)放入。您还需要cd进入包含该aspnet_regiis.exe文件的目录,或者也放置该工具的完整文件路径:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis -pef "ConnectionStrings" "C:\Ghron\Projects\Company\trunk\project1\project1"
Run Code Online (Sandbox Code Playgroud)

另外,其他一些答案也是有效的点-参数区分大小写,因此您的路径和节名称必须使用正确的大小写。我使用"ConnectionStrings"而不是"connectionStrings"(小写字母c)浪费了大约20分钟。


Stu*_*art 0

看看这个,看看你设置是否正确

http://msdn.microsoft.com/en-us/library/ms998283.aspx

可以使用 -site "SiteName" 指定站点,否则它将使用默认网站。