2011-02-15 63 views
1

這裏是我做的:.NET web.config加密失敗!

//First delete 
aspnet_regiis -pz MyKeyName 
//Create the container 
aspnet_regiis -pc MyKeyName -exp 
//Install the key into a machine-level RSA key provider 
aspnet_regiis -pi MyKeyName pathToKeyFile 
//Encrypt 
aspnet_regiis -pef "connectionStrings" -prov pathToWebConfigFile 

//So that's all good so far. If I want I can now decrypt which runs just fine on the same machine: 
aspnet_regiis -pdf "connectionStrings" 

我現在採取加密的文件,並把它帶到另一臺機器上安裝裝配相同的密鑰(使用ASPNET_REGIIS -PX「MyKeyName」「C出口我的鑰匙了:\ MyKeyName .xml「-pri)。

現在,當我運行相同的解密命令我得到一個錯誤「解密失敗...壞的數據...」

我錯過了什麼???

+0

你好,你有解決這個問題嗎?已經有3年了。 – Haminteu 2014-08-28 08:32:51

回答

1

任何加密都會有公鑰和私鑰。用於加密Web.config文件中包含的數據的私鑰實際上並未寫入該文件。這意味着如果將加密的Web.config從一臺服務器複製到另一臺服務器,則第二臺服務器將無法解密信息。

基本上你必須在同一臺服務器上進行加密和解密。

+0

我發現如何導出私鑰「aspnet_regiis -px」CustomKeys「」C:\ CustomKeys.xml「-pri」但它仍然無法正常工作! http://msdn.microsoft.com/en-us/library/ff650304.aspx#paght000006_webfarmscenarios – Bob 2011-02-15 16:31:15