密钥集不存在/身份无效

时间:2014-07-02 16:54:17

标签: iis windows-server-2012

注意:我在这里发现了几个类似的问题,但是那个被解决的问题对我来说并不适用。所以我想我会开一个新问题。

我重新启动了我们的服务器2012框,它托管我们新的.net应用程序。这样做之后,我开始收到503错误。经过调查,这似乎是一个身份问题。

在进一步说明之前,我应该说这个帐户已经工作了几个月了。我以前重新启动过,一切都很顺利。

所以我在日志中得到(相当常见的)5059,5057和5021错误。他们归结为:

  

应用程序池SVFileUpload的标识无效。为身份指定的用户名或密码可能不正确,或者用户可能没有批量登录权限。如果未更正标识,则在应用程序池收到第一个请求时将禁用应用程序池。如果批处理登录权限导致问题,则在Windows进程激活服务(WAS)重试登录之前,必须在授予权限后更改IIS配置存储中的标识。如果在处理完第一次应用程序池请求后标识仍然无效,则将禁用应用程序池。数据字段包含错误编号。

我以为我只会确保密码和帐户是正确的,所以我转到应用程序池,选择identity->自定义并确保其设置正确。我收到一个错误:

  

执行此操作时出错。详细信息:密钥集不存在(HRESULT异常:0x80090016)

这对我来说很奇怪,所以我尝试将应用程序池设置为内置帐户,并且工作正常。每当我尝试设置自定义帐户时,我都会收到此错误消息。此外,不会运行使用自定义帐户的应用池。

我用Google搜索了一下,不确定哪个错误是我需要跟踪的错误。我试过了:

  • 通过aspnet_ tool
  • 在命令行注册帐户
  • 确保用户位于IIS_IUSRS组
  • 更改C:\ ProgramData \ Microsoft \ Crypto \ RSA \ MachineKeys文件的权限
  • 添加全新用户并尝试将应用池设置为该用户帐户

我在Google上尝试了几个随机的东西,但我不记得了。

这个错误对我来说没有意义,而且似乎是随机的。我需要帮助搞清楚1)为什么我不能将应用程序池设置为自定义帐户以及2)为什么身份不再适用于我的应用程序

- 编辑
我最近删除并重新添加了我一直在使用的用户帐户。我认为这解决了这个问题。剩下的问题是我无法更新应用程序池,因为“keyset不存在”错误。

7 个答案:

答案 0 :(得分:16)

我发现了一些链接,这些链接促成了我的解决方案。

在c:\ windows \ system32 \ inetsrv \ config \ applicationHost.config中删除了所有configProtectedData条目。

然后我删除了%ALLUSERSPROFILE%\ Microsoft \ Crypto \ RSA \ MachineKeys

中的所有内容

我从inetsrv目录运行iissetup.exe / install SharedLibraries,导致"失败= 0x80070005"

然后我能够设置我的应用程序池,好像什么也没发生。

另请参阅https://techcommunity.microsoft.com/t5/IIS-Support-Blog/Keyset-does-not-exist-exception-from-HRESULT-0x8009000D-or-or/ba-p/342955以获取更详细的说明

答案 1 :(得分:1)

我有相同的错误消息,因为我的用户不是“本地管理员”组的成员。

我能够连接到服务器,因为我是“远程桌面用户”组的成员。

我能够打开IIS管理并更改设置,但是当我点击“确定”或“保存”按钮时 - 我收到“密钥集不存在” - 错误消息。

所以我的建议 - 检查你是否是管理员。

答案 2 :(得分:1)

我尝试在远程服务器上更改应用程序池的标识,但由于出现上述错误而失败。 我RDP到远程计算机,然后尝试使用本地IIS管理器更新标识,它工作。

答案 3 :(得分:1)

对于Windows Server 2008上遇到此错误的任何人: 当您使用远程管理功能(“连接到另一台计算机”)从另一台服务器管理IIS实例时,可能会发生这种情况。

我通过从服务器本身管理IIS实例来解决。  https://support.microsoft.com/en-hk/help/977754/-keyset-does-not-exist-error-message-when-you-try-to-change-the-identi

答案 4 :(得分:1)

我运行了iisreset命令,问题就解决了

答案 5 :(得分:0)

由于我在新服务器上工作,因此能够卸载IIS Windows功能,然后重新添加它。

此后,我可以毫无问题地更改应用程序池标识。

答案 6 :(得分:-1)

删除此处找到的rsa C:\ Users \ usernamn \ AppData \ Roaming \ Microsoft \ Crypto \ RSA 做一个备份必须为我工作