2008-09-20 59 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?