2009-06-23 87 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分鐘。