Проверка подлинности сертификата клиента ADFS с CN и альтернативным именем субъекта, отличным от UPN

Я пытаюсь реализовать проверку подлинности клиента для приложения 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)

Как включить TLS в gRPC-клиенте и сервере : 2
Как включить TLS в gRPC-клиенте и сервере : 2
Здравствуйте! 🙏🏻 Надеюсь, у вас все хорошо и добро пожаловать в мой блог.
Обновление драйверов Microsoft ODBC (с 17 до 18) для PHP
Обновление драйверов Microsoft ODBC (с 17 до 18) для PHP
Все знают, что PHP v7.4 потерял поддержку, и наши недавние старые приложения должны обновиться до PHP v8.x. ...
1
0
818
1

Ответы 1

Убедитесь, что сопоставление альтернативного идентификатора выполнено с отпечатком сертификата.

Основываясь на вашем сообщении об ошибке, возможны следующие сценарии:

  • Учетная запись службы ADFS не может считывать значение pwdlastset от пользователей. в вашем дочернем домене - проверьте действующие разрешения.
  • Пользователи в дочернем домене никогда не устанавливали пароль, или значение для pwdlastset установлено на очень большое или очень маленькое значение, которое не может быть продолжено время файла - это может произойти, если пользователям предоставляется Инструмент управления идентификацией, который выполняет запись в базу данных AD в конкретным образом.

Вручную создайте пользователя в дочернем домене и посмотрите, может ли он войти в систему. Если это невозможно, отключите наследование для объекта и назначьте разрешение на чтение всех свойств учетной записи службы - удалите все разрешения «Запретить» для пользователя.

Как обеспечить соответствие альтернативного идентификатора отпечатку сертификата. Какая команда выполняет это?

Michael J. Perry 18.09.2018 22:25

Другие вопросы по теме