使用aspnet_regiis.exe加密后出现Connectionstring错误

时间:2008-09-20 10:31:54

标签: asp.net connection-string rsa aspnet-regiis.exe

我已使用以下链接中的步骤加密了我的web.config文件中的connectionstring: http://www.codeproject.com/KB/database/WebFarmConnStringsNet20.aspx

但是,每当我调用我的应用程序时,都会出现以下错误:

  

使用提供程序无法解密   'CustomProvider'。来自的错误消息   提供者:RSA密钥容器   无法打开。

我执行加密的服务器是64位Windows Server 2003 R2 SP2。因此,我将ACL分配给NT Authority\Network Service。但它仍然无效。

希望有人有一些想法我还需要检查其他方法才能使其正常工作。

PS。如果我使用默认的rsa密钥NetFrameworkConfigurationKey进行加密,则连接字符串不会出现访问问题。

2 个答案:

答案 0 :(得分:1)

好吧,我找到了问题的根源,男孩很尴尬。在属性keyContainerName中,我拼写错误的名称。

那就是它。这就是造成这个问题的原因。

显然,即使你提供了一个错误的keyContainerName,加密也会起作用,我错误地假设它会失败。因此,一旦我解密了连接字符串并使用正确的keyContainerName重新加密,它就可以正常工作。

BTW,确保在更正keyContainerName之前解密现有的连接字符串。 aspnet_regiis.exe会抱怨错误数据,因为提供商现在不同了。

答案 1 :(得分:0)

你记得添加

吗?
<configProtectedData>

到你的web.config?