0

我知道身份服务器 v2 已被弃用,但我正在尝试解决生产问题。我们在服务器上安装了新证书,并更新了 web.config 文件中的指纹,但出现以下错误。我查看了 sdf 文件,但没有找到任何内容。我也试图让跟踪工作,但我似乎无法生成日志文件(我希望它可以告诉我故障是什么)有什么想法吗?

<system.identityModel>
<identityConfiguration>
          <audienceUris>
            <add value="https://website.com" />
          </audienceUris>
          <certificateValidation certificateValidationMode="None" />
          <issuerNameRegistry type="System.IdentityModel.Tokens.ValidatingIssuerNameRegistry, System.IdentityModel.Tokens.ValidatingIssuerNameRegistry">
            <authority name="http://identityserver.v2.thinktecture.com/samples">
              <keys>
                <add thumbprint="thecertificatethumbprint" />
              </keys>
              <validIssuers>
                <add name="http://identityserver.v2.thinktecture.com/samples" />
              </validIssuers>
            </authority>
          </issuerNameRegistry>
        </identityConfiguration>
      </system.identityModel>
      <system.identityModel.services>

“/”应用程序中的服务器错误。WIF10201:未找到 securityToken:'System.IdentityModel.Tokens.X509SecurityToken' 和颁发者的有效密钥映射:描述:在执行当前 Web 请求期间发生 > 未处理的异常。> 请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息:System.IdentityModel.Tokens.SecurityTokenValidationException:> WIF10201:未找到 securityToken 的有效密钥映射:“System.IdentityModel.Tokens.X509SecurityToken”和颁发者:“ http://identityserver.v2.thinktecture.com/samples ”。

源错误:

在执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常起源和位置的信息。

堆栈跟踪:

[SecurityTokenValidationException:WIF10201:未找到 securityToken 的有效密钥映射:'System.IdentityModel.Tokens.X509SecurityToken' 和颁发者:' http: //identityserver.v2.thinktecture.com/samples'.] System.IdentityModel.Tokens.Saml2SecurityTokenHandler.ValidateToken(SecurityToken token) +1333 System.IdentityModel.Services.TokenReceiver.AuthenticateToken(SecurityToken token, Boolean ensureBearerToken, String endpointUri) +137 System.IdentityModel.Services.WSFederationAuthenticationModule.SignInWithResponseMessage(HttpRequestBase请求)+665 System.IdentityModel.Services.WSFederationAuthenticationModule.OnAuthenticateRequest(对象发送者,EventArgs args)+467 System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()+139 System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step) +197 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +8

4

2 回答 2

1

我最近在迁移到新服务器时遇到了这个问题。至少对我来说,这与应用程序池的身份相关,无法读取证书的私钥。这可以通过证书 mmc 视图进行管理。

于 2020-08-18T23:43:32.847 回答
0

我最终使用了旧的指纹,它开始工作了。

于 2018-06-26T16:38:17.340 回答