[英]Issues with x509 certificate and identityserver v2
我知道身份服务器 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 request) +665 System.IdentityModel.AuthenticationServices.Module .OnAuthenticateRequest(Object sender, 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
我最近在迁移到新服务器时遇到了这个问题。 至少对我来说,这与应用程序池的身份无权读取证书的私钥有关。 这可以通过证书 mmc 视图进行管理。
我最终使用了旧的指纹,它开始工作了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.