2011-02-15 60 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