Как я могу исправить "Нет сертификатов" - приложение Chrome запросило сертификат "Проблема с Android/Google Chrome
Проблема
Некоторые пользователи нашего сайта сталкиваются с проблемой при доступе к защищенным областям нашего веб-сайта на устройствах Android в Google Chrome.
Это выглядит так:
![Нет обнаруженных сертификатов]()
Я смог реплицировать проблему на следующих устройствах, используя тестирование физических устройств с помощью браузера,
- Samsung Galaxy S6, Samsung Galaxy S5, Samsung Galaxy S4 (Android v5 и v4.4).
- Nexus 6 (Android v6, v5 и v4.4)
- Moto X 2nd Gen (Android v6 и v5)
Мои исследования
Все статьи, форумы и вопросы, которые я читал в Интернете (и их не так много, если только я не искал неправильную вещь) указывают на настройку и настройку сервера и/или SSL-сертификата, и что проблема будучи опытным по дизайну.
Рекомендуемое исправление 1
Самая полезная статья, которую я нашел до сих пор, - Проблема 268055 "Нет найденных сертификатов" на трекере хромовой проблемы.
Комментарий 18 предлагает изменить настройки SSL в IIS;
Я могу исправить проблему, если у вас есть доступ к IIS. В основном вам нужно перейти к настройкам SSL и убедиться, что SSL не установлен, и что для "Сертификатов клиентов" выбрано "Игнорировать" .
Комментарий 28 поддерживает его;
В случае с не-Googler это сообщение об ошибке появляется только в том случае, если вы сталкиваетесь с сайтом, который запрашивает сертификат клиента. Здесь ничего не может сделать Chrome - сайт запросил сертификат клиента, и даже знать, действительно ли сертификат клиента действителен, Chrome для Android должен спросить ОС. Это подсказка, которую вы видите, - она контролируется Android и всеми приложениями (Google или другими), необходимыми для прохождения этого потока.
Это произойдет с любого сайта, настроенного для запроса клиентских сертификатов, , чтобы решить эту проблему, либо не запрашивать сертификаты клиентов, либо настроить на устройствах Android сертификаты клиентов (например, с помощью управления устройствами приложение или через установку файла PKCS # 12).
kamakshi: Это все поведение "По дизайну", но требует от операторов сервера изменений, поэтому я не уверен, что делать с этой ошибкой.
Как комментарий 43;
Я не думаю, что люди в этой ошибке много знали о настройке IIS. Вы хотите поговорить с Microsoft об этом. От поиска вокруг "Игнорировать сертификат клиента", по-видимому, вам нужен вариант.
Мы это сделали, но, похоже, это не повлияло.
![Настройки IIS SSL]()
![Настройки IIS SSL]()
Рекомендуемое исправление 2
Другой вопрос здесь о Stack ( "сертификат, доверенный на компьютере, но не в android) предполагает, что промежуточный сертификат может отсутствовать;
Возможно, вам не хватает промежуточного сертификата в вашем файле сертификата. Если вы уже посетили другой веб-сайт с таким же продавцом сертификатов, промежуточный сертификат запоминается в вашем браузере. Это не может быть - или даже лучше - не будет иметь место с каждым посетителем вашего сайта. Чтобы решить отсутствующий промежуточный сертификат в соединении SSL, вам нужно будет добавить промежуточный сертификат в свой собственный файл сертификата.
Я проверил и у нас есть сертификат домена (который не является подстановочным сертификатом), промежуточным сертификатом и корневым сертификатом, поэтому я не думаю, что проблема тоже. Я также проверил проверку сайта на веб-сайте Networking4all и SSL-тест на веб-сайте Qualys SSL, и оба пути без ошибок или предупреждений.
Мой вопрос
Кто-нибудь еще столкнулся с этой проблемой? Есть ли другие решения, которые мы можем исправить? На данный момент у меня нет идей, поэтому любые советы были бы чрезвычайно оценены.
Некоторые дополнительные сведения на всякий случай
Сервер, на котором работает веб-сайт, работает под управлением Windows Server 2008 R2 и IIS 7.5, а наш поставщик сертификатов SSL - Thawte.
Спасибо заранее!
Ответы
Ответ 1
Только что разрешив эту ту же проблему, вот что я нашел...
Характеристики сервера (по существу такие же, как O.P)
- Windows Server 2008 r2
- IIS 7.5
- Поставщик SSL: GeoTrust RapidSSL
Первая проблема: устаревшие криптографические политики
В нескольких статьях указывается, что сервер может иметь устаревшие криптографические политики. Немного исследований показали, что все должно быть настроено с использованием параметров реестра. Дополнительную информацию см. В статье поддержки MS Как ограничить использование определенных криптографических алгоритмов и протоколов в Schannel.dll.
Не уверен, что ваш сериал обновлен? Серверный тест SSL Labs - отличный инструмент для проверки криптографических политик вашего сайта.
Вручную отредактировать реестр?
В статье "Поддержка MS" подробно описаны разделы реестра. Aack! Немного больше исследований, и я нашел большую полезность под названием IIS Crypto от Nartac Software, которая будет обновлять все разделы реестра одним щелчком мыши. FYI: требуется перезагрузка.
С сайта программного обеспечения Nartac:
IIS Crypto - это бесплатный инструмент, который дает администраторам возможность включить или отключить протоколы, шифры, хэши и обмен ключами алгоритмы на Windows Server 2008, 2012 и 2016. Он также позволяет вам переупорядочить набор шифров SSL/TLS, предлагаемых IIS, внедрить лучшие практики одним щелчком мыши, создавать собственные шаблоны и тестировать ваш сайт.
Вторая проблема: неправильные настройки сайта IIS SSL
Корень этой проблемы из-за невыполнения IIS параметров SSL для "Принять" клиентских сертификатов. Нет необходимости принимать клиентские сертификаты, поэтому просто установите параметр как "Игнорировать" (из предложенного O.P исправления № 1).
Примечание. На изображении показано, что "Требовать SSL" не установлен; для этого обсуждения, проверяется ли оно, не имеет значения. Все, что имеет значение, - это сайт, который можно подключить с помощью https.
![Игнорировать клиентские сертификаты в IIS]()
Обернуть
После того, как сервер изменит криптографические политики, а параметры IIS SSL установлены для игнорирования клиентских сертификатов, ошибка "Нет обнаруженных сертификатов" будет устранена.