2008-09-20 74 views
0

我使用下面的链接步骤加密的ConnectionString在我的web.config文件: http://www.codeproject.com/KB/database/WebFarmConnStringsNet20.aspxConnectionString的错误后ASPNET_REGIIS.EXE

但是,每当我把我的应用程序,它将提供以下错误:

Failed to decrypt using provider 'CustomProvider'. Error message from the provider: The RSA key container could not be opened.

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

希望有人有一些想法还有什么我需要检查才能得到这个工作。

PS。如果我使用默认rsa密钥NetFrameworkConfigurationKey进行加密,那么连接字符串将不会有访问问题。

回答

1

那么,我发现问题的根源,男孩是它的尴尬。在属性keyContainerName中,我拼写错误的名称。

就是这样。这是造成问题的原因。

显然,即使您提供不正确的keyContainerName,我也会错误地认为加密会失败。所以,一旦我解密connectionstring并用正确的keyContainerName重新加密,它就可以正常工作。

顺便说一句,请确保在更正keyContainerName之前解密您现有的连接字符串。 aspnet_regiis.exe会抱怨坏数据,因为提供者现在不同。

+0

将此标记为答案,以便它将从未回答的内容中消失 – JohnIdol 2009-02-06 23:54:57

0

你记得的

<configProtectedData> 

添加到您的web.config?