2009-06-23 88 views
13

我知道,ppl已经问过关于加密web.config的问题。加密web.config失败错误

即时通讯也试图加密我的测试配置文件,但我得到这个错误。

ASPNET_REGIIS -pef “的ConnectionStrings” “C:\ encryptedWeb.config” 加密配置部分... 对物理路径的配置 'C:\ EncryptedWeb.config' 无法打开。 失败!

我只想知道,可能是因为它失败的原因。

我得到了答案,它是web.config这是问题的只读属性。 我删除只读后它像一个魅力工作。

回答

0

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

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

一个possibiliity是与 上门的“网站名称” 否则将使用默认网站指定的网站进行设置。

+0

我有两个问题。首先,我们可以单独测试不属于任何应用程序的配置文件。 如果我有我的IIS中的两个配置文件,如何选择其中之一。 – alice7 2009-06-23 21:39:51

+0

不,web.config需要在应用程序中。而且,据我所知,每个文件夹只有一个web.config。我认为2个Web配置是VS2010的一部分 – Stuart 2009-06-23 21:48:34

0

我正经历着同样的问题,这里是为我工作:

  1. 添加ASPNET_REGIIS工具的文件夹路径到%PATH%变量。这可确保该工具可从命令行中的任何文件夹访问。对于如何%PATH%变量添加一个简短的说明,请参见本页面:http://geekswithblogs.net/renso/archive/2009/10/21/how-to-set-the-windows-path-in-windows-7.aspx
  2. 导航到你的Web根文件夹(不知道这是否是必要的,但这就是当我执行命令我导航)
  3. 与-pe自变量和参数-app等执行该命令,例如:

    ASPNET_REGIIS -pe {部加密} -app“{从根文件夹中的应用程序的路径,如:‘/ myappname’,使用引号}

28

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

如果你的web.config路径是D:\MyConfiguration\web.config然后同时加密/解密,你会用它如下:

加密:

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

解密:

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

0

我在从网站加密配置文件时遇到同样的问题。 提供命令从一个站点加密,而不是默认网站。 以下命令作品应用程序处于defaultwebsite: ASPNET_REGIIS.EXE -pe “的ConnectionStrings” -app “/网站名称” -prov “DataProtectionConfigurationProvider”

2

各部分是区分大小写的。

在路径(不需要的web.config)的结尾不要添加\

你不需要做直接在网站上;相反,将文件复制到任何位置。

加密:

aspnet_regiis -pef "SECTIONTOENTRYPT" "d:\tempEnCrypt" -prov WhateverProviderYouAreUsing 

解密:

aspnet_regiis -pdf "SECTIONTOENTRYPT" "d:\tempEncrypt" 

你可以用它来和加密一个app.config,只为加密/解密的文件重命名为web.config中

1

我知道这是旧的,但我刚刚有同样的问题,没有其他答案得到了问题。

你不应该把文件名中的路径和文件必须叫web.config。因此,对于你的例子,如果你的web.config文件实际上是在C:\你会把:

aspnet_regiis -pef "connectionStrings" "C:\" 

和文件必须调用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" 

此外,一些其他的答案是正确的观点 - 该参数是大小写敏感的,所以你的路径和部分名称必须在正确的情况下。我使用"ConnectionStrings"而不是"connectionStrings"(小写字母c)浪费大约20分钟。