参考文章:http://www.cnblogs.com/Caesar/archive/2008/12/19/1357984.html

 

参考上面这篇文章仍然没有解决文章标题所提问题。我的Petshot4.0安装在本机,想发布到虚拟机上,供使用。本来打算把本机上的RSA密钥容器拷贝到虚拟机上,可是发现还是无法解密。

 

.NETFramework 有个默认的RSA密钥容器,名称为 "NetFrameworkConfigurationKey",在machine.config文件可以看到这个默认的参数。于是想把 "NetFrameworkConfigurationKey"密钥容器导出,再在虚拟机上再导入。

 

 

在当前计算机上,导出 RSA密钥容器。(可以在导出文件前指定路径。)

 

         aspnet_regiis -px "NetFrameworkConfigurationKey" D:/RSAkeys.xml -pri

 

可是导出失败,它不能使用 -pri 这个参数,而这个参数是导出解密使用的信息!如果没有它,在其他机器上只能加密新的东西。所以这种方法也行不通。

 

于是我在本机上解密加密了的链接字符串。

aspnet_regiis -pdf "connectionStrings" "E:/project/petshop4/web" 

 

"E:/project/petshop4/web" 为petshop4下web网站的目录。解密后再发布到虚拟机上,其实本来就要修改连接字符串,连接字符串的server默认是localhost。所以必须先解密,修改字符串,然后再发布。你也可以在虚拟机上,自己创建密钥容器,再进行加密。

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐