Проблемы с сертификатом x509 и 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' и Issueer: Описание: во время выполнения текущего веб-запроса возникло необработанное исключение>. > Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где она возникла в коде.
Сведения об исключении: System.IdentityModel.Tokens.SecurityTokenValidationException: > WIF10201: не найдено действительного сопоставления ключей для securityToken: 'System.IdentityModel.Tokens.X509SecurityToken' и эмитент: ' http://identityserver.v2.thinktecture.com/samples'.
Ошибка источника:
Во время выполнения текущего веб-запроса было сгенерировано необработанное исключение. Информация о происхождении и местоположении исключения может быть идентифицирована с помощью трассировки стека исключений ниже.
Трассировки стека:
[SecurityTokenValidationException: WIF10201: не найдено действительного сопоставления ключей для securityToken: 'System.IdentityModel.Tokens.X509SecurityToken' и эмитент: ' http://identityserver.v2.thinktecture.com/samples'.] System.IdentityModel.Tokens.SamlenHecurity.ValidateToken(SecurityToken маркер) +1333 System.IdentityModel.Services.TokenReceiver.AuthenticateToken(SecurityToken маркер, Boolean ensureBearerToken, String endpointUri) +137 System.IdentityModel.Services.WSFederationAuthenticationModule.SignInWithResponseMessage(HttpRequestBase запрос) +665 System.IdentityModel.Services.WSFederationAuthenticationModule.OnAuthenticateRequest(Отправитель объекта, аргументы EventArgs) +467 System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +139 System.Web.HttpApplication.ExecuteStepImpt.tepteEtepTecTeppT.SecE.Tepp.Exe.StePT.ExE (Шаг IExecutionStep, логический и завершен синхронно) +8
1 ответ
Недавно у меня возникла эта проблема при переходе на новый сервер. По крайней мере, для меня это было связано с тем, что у пула приложений не было доступа для чтения закрытого ключа сертификата. Этим можно управлять через представление сертификатов mmc.
Я использовал старый отпечаток большого пальца, и он начал работать.