Я пытаюсь реализовать проверку подлинности клиента для приложения SharePoint с помощью проверки подлинности сертификата клиента.
Сертификат для пользователей выдается внешним центром сертификации, и мы сопоставляем сертификат пользователям в Active Firectory по имени, отображающему значение сертификата для CN. Однако CN сертификата не соответствует UPN в Active Directory, и я не могу контролировать, как создается CN (внешний CA).
Когда пользователи пытаются войти в систему с помощью сертификата клиента (мы включаем внешнюю аутентификацию с сертификатом + добавляем все корневые ЦС в надежное хранилище, чтобы можно было доверять сертификату клиента), пользователю предлагается выбрать сертификат, и после этого они появляется следующая ошибка:
Служба федерации обнаружила ошибку при обработке запроса WS-Trust.
Тип запроса: schemas.microsoft.com/idfx/requesttype/issue
Дополнительная информация Детали исключения:
System.ComponentModel.Win32Exception (0x80004005): неверное имя пользователя или пароль в Microsoft.IdentityModel.Tokens.X509SecurityTokenHandler.KerberosCertificateLogon (X509Certificate2 certificate) в Microsoft.IdentityModel.ClaimsIdentityClaimsIdentityClaims.WindowsClaimsoclaims.WindowsClaim. .WindowsClaimsIdentity.CreateFromCertificate (X509Certificate2 сертификат, Boolean useWindowsTokenService, String issuerName) atMicrosoft.IdentityModel.Tokens.X509SecurityTokenHandler.ValidateToken (SecurityToken маркер) в Microsoft.IdentityServer.Service.Tokens.MSISX509SecurityTokenHandler.ValidateToken (SecurityToken маркер) в Microsoft.IdentityServer.Web. WSTrust.SecurityTokenServiceManager.GetEffectivePrincipal (SecurityTokenElement securityTokenElement, SecurityTokenHandlerCollection securityTokenHandlerCollection) в Microsoft.IdentityServer.Web.WSTrust.SecurityTokenServiceManagerSecurityManager Request.I itionalClaims)
Убедитесь, что сопоставление альтернативного идентификатора выполнено с отпечатком сертификата.
Основываясь на вашем сообщении об ошибке, возможны следующие сценарии:
Вручную создайте пользователя в дочернем домене и посмотрите, может ли он войти в систему. Если это невозможно, отключите наследование для объекта и назначьте разрешение на чтение всех свойств учетной записи службы - удалите все разрешения «Запретить» для пользователя.
Как обеспечить соответствие альтернативного идентификатора отпечатку сертификата. Какая команда выполняет это?