0

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

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

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

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

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

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

4

2 回答 2

1

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

那它。这就是导致问题的原因。

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

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

于 2008-09-21T09:16:59.820 回答
0

你记得添加

<configProtectedData>

到你的 web.config?

于 2008-09-20T10:59:05.150 回答