Поделиться через


Использование ADAL для проверки подлинности с устройств Android завершается сбоем, если требуется дополнительная загрузка сертификатов

В этой статье описывается проблема, из-за которой проверка подлинности библиотеки проверки подлинности Azure Active Directory (ADAL) с устройств Android завершается сбоем, если требуется дополнительная загрузка сертификатов.

Исходная версия продукта: Microsoft Entra ID
Исходный номер базы знаний: 3203929

Симптомы

При попытке пройти проверку подлинности с помощью ADAL для Android вход федерации может завершиться ошибкой. В частности, приложение запускает ошибку AuthenticationException при попытке отобразить страницу входа. В Google Chrome страница входа stS может быть признана небезопасной. Эта проблема возникает только на устройствах Android для любого приложения, которое использует ADAL для Android для подключения к серверу федерации.

Чтобы определить, возникла ли эта проблема, выполните следующий тест:

  1. Получите полное доменное имя (FQDN) сервера службы маркеров безопасности (STS). Для этого выполните следующие действия:

    1. https://login.microsoftonline.com Перейдите к на устройстве, отличном от Android.
    2. Введите рабочую или учебную учетную запись.
    3. При перенаправлении на страницу входа в федеративную службу STS запишите URL-адрес в браузере. Он выглядит так: https://sts.contoso.com. Полное доменное имя — sts.contoso.com.
  2. Перейдите по следующему URL-адресу, заменив <STS_SERVER_FQDN_HERE> полным доменным именем службы stS:

    https://www.ssllabs.com/ssltest/analyze.html?d=<STS_SERVER_FQDN_HERE>&hideResults=on&latest

    Например:

    https://www.ssllabs.com/ssltest/analyze.html?d=sts.contoso.com&hideResults=on&latest

  3. Просмотрите, отображаются ли какие-либо из следующих сообщений:

    • Дополнительное скачивание
    • Отправлено сервером
    • В хранилище доверия

    Если какой-либо из SSL-сертификатов отображает сообщение "Дополнительная загрузка", вы столкнулись с проблемой, описанной ранее в этом разделе, на следующем снимке экрана:

    Снимок экрана: сообщение о дополнительном скачивании.

    Вот снимок экрана: сертификат с сообщением "Отправлено сервером", иллюстрируя успешную проверку подлинности на устройстве Android:

    Снимок экрана: сообщение

Причина

Android не поддерживает скачивание дополнительных сертификатов из поля authorityInformationAccess сертификата. Это справедливо для всех версий и устройств Android, а также для браузера Chrome. Любой сертификат проверки подлинности сервера, помеченный для дополнительной загрузки на основе поля authorityInformationAccess, вызовет эту ошибку, если вся цепочка сертификатов не передается из службы федерации Active Directory (AD FS) (AD FS).

Разрешение

Чтобы устранить эту проблему, настройте серверы STS и веб-Application Proxy (WAP) для отправки необходимых промежуточных сертификатов вместе с SSL-сертификатом. Для этого выполните следующие действия:

  1. При экспорте SSL-сертификата с компьютера в личное хранилище сервера AD FS и WAP-сервера (или) сервера WAP убедитесь, что вы экспортируете закрытый ключ и выберите Пункт Обмен персональными данными — PKCS #12. Кроме того, убедитесь, что выбраны флажки Включить все сертификаты в путь к сертификату, если это возможно, и Экспортировать все расширенные свойства проверка.
  2. Запустите certlm.msc на серверах Windows и импортируйте *. PFX-файл в личном хранилище сертификатов компьютера. При этом сервер будет передавать всю цепочку сертификатов, когда клиентское приложение использует ADAL для проверки подлинности.

Примечание.

Хранилище сертификатов подсистем балансировки нагрузки сети также должно быть обновлено, чтобы включить всю цепочку сертификатов.

Свяжитесь с нами для получения помощи

Если у вас есть вопросы или вам нужна помощь, создайте запрос в службу поддержки или обратитесь за поддержкой сообщества Azure. Вы также можете отправить отзыв о продукте в сообщество отзывов Azure.