無法打開 RSA 密鑰容器。視窗伺服器 2008 R2
我正在我們的 Windows 2008 R2 伺服器上設置第二個 asp.net 站點。我們使用 RSA Key Container 來加密我們的連接字元串。我創建了一個新的應用程序池,其設置與支持我們目前站點的預設應用程序池的所有設置相同,包括使用相同的使用者帳戶作為身份。當我嘗試訪問新站點時,出現以下錯誤:無法打開 RSA 密鑰容器
如果我將新網站更改為使用我們的預設應用程序池,它就可以工作。因此,我嘗試使用管理員命令提示符中的以下命令,讓新應用程序池中的使用者帳戶訪問 RSA 密鑰容器:
aspnet_royal -pa “KeyContainerName” “dmz\UserName”
我收到以下錯誤:找不到 RSA 密鑰容器。
我執行以下命令來安裝密鑰容器:
aspnet_regiis -pi “KeyContainerName” “c:\keys.xml”
我收到以下錯誤:對像已存在
我嘗試執行以下命令來刪除密鑰容器:
aspnet_regiis -pz “KeyContainerName”
我收到此錯誤:未找到 RSA 密鑰容器。失敗的!
所以我完全感到困惑,一個命令告訴我它已經存在,這是有道理的,因為我知道我們的一個網站正在使用它,但是當我試圖刪除它時告訴我它不存在。它適用於一個應用程序池,但不適用於使用完全相同身份的新應用程序池?我在其他 12 台伺服器上進行了完全相同的設置,它們都執行良好。
我有過類似的事情。
如果您使用的帳戶沒有密鑰容器的權限,那麼當您嘗試授予它權限時 (
aspnet_regiis -pa "KeyContainerName" "dmz\UserName"
),您會收到未找到密鑰容器的錯誤。但是密鑰確實存在;因此,當您嘗試重新創建它時會出現錯誤。這意味著密鑰是由不同的帳戶創建的。
如果您可以使用該帳戶登錄,則可以執行
aspnet_regiis -pa "KeyContainerName" "dmz\YourUserName" -full
授予您自己的帳戶對密鑰的控制權。我建議建立一個 KeyAdministrators NT 組並授予對該組的訪問權限並讓自己加入該組。