IIS 7.5、加密密钥和 HRESULT:0x80090005

Kyl*_*ndt 7 iis-7 keys windows-server-2008-r2

尝试将域帐户分配给 IIS 7.5 应用程序池时,出现以下错误:

Details: Bad Data. (Exception from HRESULT: 0x80090005)
Run Code Online (Sandbox Code Playgroud)

我的研究表明,当您复制applicationhost.config文件而不导入密钥时,可能会发生这种情况。我看到的建议解决方案是卸载 IIS 并从头开始重建它 ( http://forums.iis.net/t/1160895.aspx )。我不确定配置来自哪台机器,所以现在原件会丢失。

我不愿意在没有更好地理解这个问题的情况下重建 IIS。到目前为止,我的理解是私钥(在 IIS 中的某处?)用于加密 AD 帐户的凭据。那么为什么 IIS 当前不能使用其现有密钥在其配置中创建这个新的 AD 帐户——或者为什么我不能只生成一个新密钥并使用它?目前正在使用的这台机器上没有钥匙吗?

Kyl*_*ndt 6

我能够通过在新机器上设置 IIS 来解决这个问题。然后我从那台机器导出密钥,复制然后将密钥导入到我现有的 IIS 安装中。

通过将<configProtectedData>现有机器上的替换为新机器生成的,并结合密钥导入,我可以添加域用户而不会出错。

导出命令:

aspnet_regiis -px "iisConfigurationKey" "c:\exportedIISKey.xml" -pri
aspnet_regiis -px "iisWasKey" "c:\exportedWASKey.xml" -pri
Run Code Online (Sandbox Code Playgroud)

导入命令:

aspnet_regiis -pi "iisConfigurationKey" "c:\exportedIISKey.xml"
aspnet_regiis -pi "iisWasKey" "c:\exportedWASKey.xml"
Run Code Online (Sandbox Code Playgroud)

…………