Сертификат не соответствует настройкам приложения ошибка tls аутентификации при входе в гас
Эта статья содержит сведения о распространенных проблемах, которые могут возникнуть при настройке домена или TLS/SSL-сертификата для веб-приложений в Службе приложений Azure. Кроме того, здесь описаны возможные причины этих проблем и способы их устранения.
Если в любой момент при изучении этой статьи вам потребуется дополнительная помощь, вы можете обратиться к экспертам по Azure на форумах MSDN и Stack Overflow. Кроме того, можно зарегистрировать обращение в службу поддержки Azure. Перейдите на сайт поддержки Azure и выберите Получить поддержку.
В этой статье предусмотрено использование модуля Azure Az PowerShell, который является рекомендуемым модулем PowerShell для взаимодействия с Azure. Чтобы начать работу с модулем Az PowerShell, ознакомьтесь со статьей Установка Azure PowerShell. Дополнительные сведения см. в статье Перенос Azure PowerShell с AzureRM на Az.
Проблемы сертификата
Не удается добавить привязку TLS/SSL-сертификата к приложению
Симптом
"Не удалось добавить привязку SSL. Не удалось назначить сертификат для существующего виртуального IP-адреса, так как этот сертификат уже используется для другого виртуального IP-адреса."
Причина
Решение
Чтобы устранить эту проблему, используйте один из следующих способов:
- Удалите привязку TLS/SSL на основе IP-адреса в приложении, в котором используется старый сертификат.
- Создайте привязку TLS/SSL на основе IP-адреса, которая использует новый сертификат.
Не удается удалить сертификат
Симптом
"Невозможно удалить сертификат, так как он сейчас используется в TLS/SSL-привязке. Ее необходимо удалить, чтобы можно было удалить сертификат."
Причина
Эта проблема может возникнуть, если сертификат используется другим приложением.
Решение
Удалите привязку TLS для этого сертификата из приложений. Затем попробуйте удалить сертификат. Если сертификат по-прежнему не удается удалить, очистите кэш веб-браузера, повторно откройте портал Azure в новом окне браузера. Затем попробуйте удалить сертификат.
Не удается приобрести сертификат службы приложений
Симптом
Приобрести сертификат службы приложений Azure на портале Azure нельзя.
Причина и решение
Эта проблема может возникать из-за любой из следующих причин:
Служба приложений имеет план уровня "Бесплатный" или "Общий". Эти ценовые категории не поддерживают TLS.
Решение. Обновите план службы приложений для приложения до уровня "Стандартный".
Решение. Добавьте действительную кредитную карту в подписку.
Предложение подписки не поддерживает покупку сертификата службы приложений, такого как Microsoft Student.
Решение. Обновите подписку.
Достигнуто максимальное количество покупок, предусмотренных для подписки.
Решение. Для типов подписок с оплатой по мере использования и с Соглашением Enterprise предусмотрено не больше 10 покупок сертификатов службы приложений. Для других типов подписок ограничение равно 3. Чтобы увеличить это количество, обратитесь в службу поддержки Azure.
Решение. Если сертификат помечен как мошеннический и проблема не будет устранена по прошествии 24 часов, сделайте следующее:
- Войдите на портал Azure.
- Перейдите к области Сертификаты службы приложений, а затем выберите сертификат.
- Выберите Конфигурация сертификата > Step 2 : Verify (Шаг 2. Проверка) > Проверка домена. В результате будет отправлено электронное уведомление поставщику сертификата Azure для устранения проблемы.
Проблемы с личным доменом
Симптом
"Error 404-Web app not found" (Ошибка 404 — веб-приложение не найдено).
Причина и решение
Причина 1
На настроенном личном домене отсутствует запись A или CNAME.
Решение для причины 1
- Если вы добавили запись A, убедитесь, что запись типа TXT также добавлена. Дополнительные сведения см. в разделе Создание записи A.
- Если вам не нужно использовать корневой домен для приложения, рекомендуется использовать запись CNAME вместо записи A.
- Не используйте обе записи CNAME и A для одного домена. Эта проблема может вызвать конфликт или препятствовать разрешению домена.
Причина 2
Веб-браузер может по-прежнему кэшировать старый IP-адрес для домена.
Решение для причины 2
Не удалось добавить дочерний домен
Симптом
Не удается добавить новое имя узла в приложение, чтобы назначить поддомен.
Решение
- Обратитесь к администратору подписки, чтобы убедиться, что у вас есть разрешение на добавление имени узла в приложение.
- Если требуется несколько поддоменов, рекомендуется изменить размещение домена на службу доменных имен (DNS) Azure. С помощью Azure DNS можно добавить в приложение до 500 имен узлов. Дополнительные сведения см. в записи блога о добавлении поддомена.
Не удается распознать службу доменных имен
Симптом
"Не удается найти запись DNS".
Причина
Эта ошибка возникает по одной из следующих причин:
- Срок жизни не истек. Проверьте конфигурацию DNS своего домена, чтобы определить значение срока жизни, а затем подождите его окончания.
- Недопустимая конфигурация DNS.
Решение
Нужно восстановить удаленный домен
Симптом
Домен больше не отображается на портале Azure.
Причина
Возможно, домен случайно удален владельцем подписки.
Решение
Если домен удален меньше семи дней назад, процесс удаления не был запущен. В этом случае можно приобрести тот же домен снова на портале Azure в рамках одной подписки Убедитесь, что в поле поиска введено точное доменное имя. Плата за этот домен повторно не взимается. Если домен удален больше семи дней назад, обратитесь в службу поддержки Azure за помощью в его восстановлении.
Проблемы домена
Приобретен TLS/SSL-сертификат для неверного домена
Симптом
Приобретен сертификат службы приложений для неверного домена. Не удается обновить сертификат для использования правильного домена.
Решение
Удалите этот сертификат, а затем приобретите новый.
Если текущий сертификат, который использует неверный домен, имеет состояние "Выдан", за него также выставляется счет. Плата за сертификаты службы приложений не возвращается, но вы можете обратиться в службу поддержки Azure, чтобы рассмотреть другие варианты.
Сертификат службы приложений был обновлен, но в приложении по-прежнему отображается старый сертификат
Симптом
Причина
Служба приложений автоматически синхронизирует сертификат в течение 48 часов. Если вы изменяете или обновляете сертификат, иногда приложение по-прежнему извлекает старый сертификат, а не только что обновленный. Это связано с тем, что задание для синхронизации ресурсов сертификата еще не запущено. Щелкните "Синхронизировать". Операция синхронизации автоматически обновляет привязки имен узлов для сертификата в Службе приложений, не вызывая простоя в работе ваших приложений.
Решение
Вы можете принудительно выполнить синхронизацию сертификата. Для этого сделайте следующее:
- Войдите на портал Azure. Выберите Сертификаты службы приложений, а затем — сертификат.
- Выберите Повторное создание ключей и синхронизация, а затем — Синхронизировать. Для завершения синхронизации потребуется некоторое время.
- После завершения синхронизации отобразится следующее уведомление: "Все ресурсы обновлены с использованием нового сертификата".
Проверка домена не работает
Симптом
Прежде чем использовать сертификат службы приложений, необходимо выполнить проверку домена. Если щелкнуть Проверить, процесс завершится ошибкой.
Решение
Проверьте домен вручную, добавив запись типа TXT:
- Перейдите к поставщику службы доменных имен (DNS), на котором размещено доменное имя.
- Добавьте запись типа TXT для домена, использующего значение токена домена, показанного на портале Azure.
Подождите несколько минут до запуска распространения данных в DNS, а затем нажмите кнопку Обновить для запуска проверки.
В качестве альтернативы вы можете использовать метод веб-страницы HTML, чтобы вручную подтвердить свой домен. Этот метод позволяет центру сертификации подтвердить права на владение доменом, для которого выдан сертификат.
- Создайте HTML-файл с именем .html. Содержимым этого файла должно быть значение токена проверки домена.
- Отправьте этот файл в корень веб-сервера, на котором размещается ваш домен.
- Выберите Обновить, чтобы проверить состояние сертификата. Проверка может занять несколько минут.
При заказе сертификата на проверку домена отводится всего 15 дней, по истечении которых сертификат отклоняется центром сертификации, а счет за этот сертификат не выставляется. В такой ситуации удалите этот сертификат и повторите попытку.
Не удается приобрести домен
Симптом
Не удается приобрести домен службы приложений на портале Azure.
Причина и решение
Эта ошибка возникает по одной из следующих причин:
Кредитная карта для подписки Azure отсутствует или недействительна.
Решение. Добавьте действительную кредитную карту в подписку.
Вы не являетесь владельцем подписки, поэтому у вас нет разрешения на покупку домена.
Решение.Назначьте роль "Владелец" своей учетной записи. Или свяжитесь с администратором, чтобы получить разрешение на приобретение домена.
Вы достигли предельного числа приобретений доменов для подписки. Текущее ограничение — 20.
Тип подписки Azure не поддерживает покупку домена службы приложений.
Решение. Обновите подписку Azure до других типов подписки, например до подписки с оплатой по мере использования.
Не удается добавить имя узла в приложение
Симптом
При добавлении имени узла процесс проверки и утверждения домена завершается ошибкой.
Причина
Эта ошибка возникает по одной из следующих причин:
У вас нет разрешения на добавление имени узла.
Решение. Попросите администратора подписки дать вам разрешение на добавление имени узла.
Не удается выполнить проверку владельца домена.
Решение. Убедитесь, что запись CNAME или A настроены правильно. Чтобы сопоставить личный домен с приложением, создайте запись CNAME или A. Если вы хотите использовать корневой домен, необходимо воспользоваться записями типа A и TXT.
Вопросы и ответы
Нужно ли настраивать личный домен для веб-сайта после приобретения?
При покупке домена на портале Azure приложение Службы приложений автоматически настраивается для использования этого личного домена. Никакие дополнительные действия не требуются. Дополнительные сведения см. в видео Добавление имени личного домена в блоге, посвященном самостоятельному разрешению связанных со Службой приложений Azure вопросов, на сайте Channel9.
Можно ли использовать домен, приобретенный на портале Azure, чтобы указать на виртуальную машину Azure?
Да, домен может указывать на виртуальную машину. Дополнительные сведения см. в статье Использование Azure DNS для указания параметров личного домена для службы Azure.
Мой домен размещен в GoDaddy или в Azure DNS?
Домены Службы приложений используют GoDaddy для регистрации доменов и Azure DNS для размещения доменов.
Если вы включили автоматическое продление, никакие действия с вашей стороны не требуются. Уведомление предназначено для того, чтобы вы знали о том, что скоро истечет срок действия домена, и могли продлить его вручную, если автоматическое продление не включено.
Нужно ли мне платить за размещения моего домена в Azure DNS?
Начальная стоимость покупки домена включает только регистрацию домена. В дополнение к стоимости регистрации взимается плата за Azure DNS, основанная на использовании. Дополнительные сведения см. на странице цен на Azure DNS.
Мой домен был приобретен ранее на портале Azure. Теперь я хочу перейти с размещения в GoDaddy на Azure DNS. Как это можно сделать?
Переход на размещение в Azure DNS не является обязательным. Если вы хотите выполнить миграцию на Azure DNS, то интерфейс управления доменами на портале Azure предоставляет сведения о действиях, необходимых для перехода на Azure DNS. Если домен был приобретен через Службу приложений, миграция из GoDaddy в Azure DNS является относительно простой процедурой.
Если я куплю домен в Службе приложений, смогу ли я разместить его в GoDaddy, а не в Azure DNS?
Начиная с 24 июля 2017 г. домены Службы приложений, приобретенные на портале, размещаются в Azure DNS. Если вы предпочитаете использовать другого поставщика услуг размещения, необходимо посетить его веб-сайт, чтобы получить решение для размещения домена.
Нужно ли платить за защиту конфиденциальности для моего домена?
При покупке домена на портале Azure можно бесплатно добавить функцию защиты конфиденциальности. Это одно из преимуществ приобретения домена с помощью Службы приложений Azure.
Если домен мне больше не нужен, можно ли вернуть деньги?
Можно ли использовать домен в другом приложении Службы приложений Azure в моей подписке?
Да. В колонке "Личные домены и TLS" на портале Azure вы увидите приобретенные домены. Вы можете настроить приложение для использования любого из этих доменов.
Можно ли перенести домен из одной подписки в другую?
Вы можете перенести домен в другую подписку или группу ресурсов с помощью командлета PowerShell Move-AzResource.
Как управлять личным доменом, если у меня в настоящее время нет приложения в Службе приложений Azure?
Вы можете управлять доменом, даже если у вас нет веб-приложения в Службе приложений. Домен может использоваться для виртуальных машин, хранилища и других служб Azure. Если вы планируете использовать домен для веб-приложений Службы приложений, необходимо включить веб-приложение, которое не входит в план Службы приложений уровня "Бесплатный", чтобы привязать домен к веб-приложению.
Можно ли перенести веб-приложение с личным доменом в другую подписку или из Среды службы приложений версии 1 в версию 2?
После перемещения веб-приложения привязки имен узлов доменов в параметрах личных доменов должны остаться прежними. Для настройки привязок имен узлов дополнительные действия не требуются.
Это руководство посвящено настройке защиты приложений с помощью TLS-аутентификации. При таком подходе возможность работы пользователей с приложением зависит от имеющихся у них сертификатов. То есть — разработчик может самостоятельно принимать решения о том, каким пользователям разрешено обращаться к приложению.
Мы рассмотрим следующие вопросы:
1. Запуск сервера
Для того чтобы организовать работу сервера — нам понадобится следующее:
- Java 11
- Maven 3.5.0
- Eclipse, Intellij IDEA (или любой другой текстовой редактор вроде VIM)
- Доступ к терминалу
- Копия этого проекта
В данном проекте содержится Maven-обёртка, поэтому запустить его можно и не устанавливая Maven. Тут будут приведены сведения и о стандартных командах, рассчитанных на mvn, и о командах, ориентированных на использование Maven-обёртки.
Если вы хотите запустить этот проект с использованием Java 8 — вы можете переключиться на более старую его версию с использованием нижеприведённой команды.
При работе с этой версией проекта рекомендовано следовать инструкциям, подготовленным специально для него. Найти их можно здесь.
Сервер можно привести в рабочее состояние, вызвав метод main класса App или выполнив следующую команду в корневой директории проекта:
Вот команда, рассчитанная на Maven-обёртку:
2. Отправка приветствия серверу (без шифрования)
Сейчас сервер работает на порте, используемом по умолчанию (8080) без шифрования. С помощью следующей команды, задействующей curl , можно обратиться к конечной точке hello :
Ответ должен выглядеть примерно так:
Обратиться к серверу можно и с использованием клиента, код которого находится в директории client . Клиент зависит от других компонентов проекта. Поэтому, прежде чем его запускать, нужно выполнить в корневой директории проекта команду mvn install или ./mvnw install .
В клиенте реализован интеграционный тест, основанный на Cucumber. Его можно запустить, обратившись к классу ClientRunnerIT из IDE, или выполнив в корневой директории следующую команду:
При использовании Maven-обёртки это будет такая команда:
Тут имеется файл Hello.feature, который описывает шаги интеграционного теста. Этот файл можно найти в папке ресурсов теста клиентского проекта.
Есть и другой метод запуска и клиента, и сервера. Он представлен следующей командой, выполняемой в корневой директории проекта:
Вариант этой команды для Maven-обёртки выглядит так:
Клиент, по умолчанию, отправляет запросы к localhost , так как он рассчитан на то, что сервер выполняется на том же компьютере, что и он сам. Если сервер работает на другой машине — соответствующий URL можно передать клиенту при запуске, воспользовавшись следующим аргументом VM:
Теперь давайте разберёмся с тем, как защитить сервер с помощью TLS. Сделать это можно, добавив соответствующие свойства в файл application.yml , хранящий настройки приложения.
Речь идёт о следующих настройках:
Для того чтобы вышеописанные настройки вступили в силу — сервер надо перезапустить. Возможно, при этом вы увидите следующее исключение:
Причина его появления заключается в том, что серверу, для установки защищённого соединения с внешними сущностями, нужно хранилище ключей с сертификатом сервера. Сервер может предоставить более подробную информацию об этом в том случае, если воспользоваться следующими аргументами VM:
Для того решения этой проблемы нужно создать хранилище ключей, содержащее открытый и закрытый ключи для сервера. Открытый ключ будет передаваться пользователям. Так они смогут зашифровать данные, передаваемые серверу. Зашифрованные данные могут быть расшифрованы с использованием закрытого ключа сервера. Закрытый ключ сервера нельзя никому передавать, так как, имея этот ключ, злоумышленник может перехватить зашифрованные данные, которыми обмениваются клиент и сервер, и расшифровать их.
Создать хранилище ключей с открытым и закрытым ключами можно с помощью следующей команды:
Теперь нужно сообщить серверу о том, где именно находится хранилище ключей, и указать пароли. Сделаем это, отредактировав наш файл application.yml :
Замечательно! Только что мы настроили TLS-шифрование соединений между сервером и клиентом! Испытать сервер можно так:
Клиент можно запустить и прибегнув к классу ClientRunnerIT.
Возникает такое ощущение, что клиент пытается поприветствовать сервер, а сервер ему найти не удаётся. Проблема заключается в том, что клиент пытается обратиться к серверу, работающему на порте 8080 , а сервер ждёт запросов на порте 8443 . Исправим это, внеся некоторые изменения в класс Constants . А именно — найдём эту строку:
И приведём её к такому виду:
Экспортировать сертификат сервера можно такой командой:
Теперь можно создать TrustStore для клиента и импортировать туда сертификат сервера такой командой:
TrustStore для клиента мы создали, но сам клиент пока об этом не знает. А это значит, что клиенту надо сообщить о том, что ему следует пользоваться TrustStore, указав адрес хранилища и пароль. Клиенту надо сообщить и о том, что включена аутентификация. Всё это делается путём приведения файла application.yml клиентского приложения к такому виду:
4. Аутентификация клиента (двусторонний TLS)
Следующий шаг нашей работы заключается такой настройке сервера, чтобы он требовал бы аутентификации клиентов. Благодаря этим настройкам мы принудим клиентов идентифицировать себя. При таком подходе сервер тоже сможет проверить подлинность клиента, и то, входит ли он в число доверенных сущностей. Включить аутентификацию клиентов можно, воспользовавшись свойством client-auth , сообщив серверу о том, что ему нужно проверять клиентов.
Приведём файл сервера application.yml к такому виду:
Это указывает на то, что клиент не обладает подходящим сертификатом. Точнее — у клиента пока вообще нет сертификата. Поэтому создадим сертификат следующей командой:
Нам ещё нужно создать TrustStore для сервера. Но, прежде чем создавать это хранилище, нужно иметь сертификат клиента. Экспортировать его можно так:
Теперь создадим TrustStore сервера, в котором будет сертификат клиента:
Мы создали для клиента дополнительное хранилище ключей, но клиент об этом не знает. Сообщим ему сведения об этом хранилище. Кроме того, клиенту нужно сообщить о том, что включена двусторонняя аутентификация.
Приведём файл application.yml клиента к такому виду:
Сервер тоже не знает о только что созданном для него TrustStore. Приведём его файл application.yml к такому виду:
Если снова запустить клиент — можно будет убедиться в том, что тест завершается успешно, и что клиент получает данные от сервера в защищённом виде.
Примите поздравления! Только что вы настроили двусторонний TLS!
5. Установление двустороннего TLS-соединения с использованием доверенного удостоверяющего центра
Есть и другой способ организации двусторонней аутентификации. Он основан на использовании доверенного удостоверяющего центра. У такого подхода есть сильные и слабые стороны.
- Клиентам не нужно добавлять в свои хранилища сертификат сервера.
- Серверу не нужно добавлять в своё хранилище все сертификаты клиентов.
- Меньше времени уходит на поддержку такой конфигурации, так как срок действия может истечь лишь у сертификата удостоверяющего центра.
- Разработчик теряет контроль над тем, каким приложениям разрешено обращаться к его приложению. Разрешение даётся любому приложению, у которого есть подписанный сертификат от удостоверяющего центра.
1. Создание удостоверяющего центра
Обычно работают с уже существующими удостоверяющими центрами, которым, для подписи, нужно передавать сертификаты. Здесь же мы создадим собственный удостоверяющий центр и подпишем с его помощью сертификаты клиента и сервера. Для создания удостоверяющего центра воспользуемся такой командой:
Ещё можно воспользоваться существующим удостоверяющим центром.
2. Создание файла запроса на подпись сертификата
Для того чтобы подписать сертификат — нужен .csr-файл (Certificate Signing Request, файл запроса на подпись сертификата). Создать его можно с помощью особой команды.
Вот её вариант для сервера:
Вот — эта команда для клиента:
Такой файл нужен удостоверяющему центру для подписи сертификата. Следующий шаг нашей работы заключается в подписании сертификата.
3. Подписание сертификата с помощью запроса на подпись сертификата
Вот соответствующая команда для клиента:
Вот команда для сервера:
4. Замена неподписанного сертификата подписанным
Экспортируем подписанный сертификат:
Выполним на клиенте следующие команды:
На сервере выполним такие команды:
5. Организация взаимодействия клиента и сервера, основанного исключительно на доверии к удостоверяющему центру
Теперь нужно настроить клиент и сервер так, чтобы они доверяли бы только удостоверяющему центру. Сделать это можно, импортировав сертификат удостоверяющего центра в хранилища TrustStore клиента и сервера.
Сделаем это, выполнив на клиенте следующую команду:
На сервере выполним такую команду:
В хранилищах TrustStore всё ещё хранятся собственные сертификаты клиента и сервера. Эти сертификаты нужно удалить.
Выполним на клиенте такую команду:
Вот — команда для сервера:
Если снова запустить клиент — можно видеть успешное прохождение теста. А это значит, что клиент и сервер успешно обмениваются данными, используя сертификаты, подписанные удостоверяющим центром.
6. Автоматизация различных подходов к аутентификации
Всё, о чём мы говорили выше, можно автоматизировать с помощью скриптов, которые находятся в папке script рассматриваемого нами проекта. Для запуска скриптов можете воспользоваться следующими командами:
- ./configure-one-way-authentication — настройка односторонней аутентификации.
- ./configure-two-way-authentication-by-trusting-each-other my-company-name — настройка двусторонней аутентификации.
- ./configure-two-way-authentication-by-trusting-root-ca my-company-name — настройка двусторонней аутентификации с использованием удостоверяющего центра.
Протестированные клиенты
Предлагаем разобраться со способами устранения подобных ошибок.
Что такое SSL?
SSL (Secure Socket Layer) — это интернет-протокол для создания зашифрованного соединения между пользователем и сервером, который гарантирует безопасную передачу данных.
Когда пользователь заходит на сайт, браузер запрашивает у сервера информацию о наличии сертификата. Если сертификат установлен, сервер отвечает положительно и отправляет копию SSL-сертификата браузеру. Затем браузер проверяет сертификат, название которого должно совпадать с именем сайта, срок действия сертификата и наличие корневого сертификата, выданного центром сертификации.
Причины возникновения ошибок SSL-соединения
Когда сертификат работает корректно, адресная строка браузера выглядит примерно так:
Но при наличии ошибок она выглядит несколько иначе:
Существует множество причин возникновения таких ошибок. К числу основных можно отнести:
- Некорректную дату и время на устройстве (компьютер, смартфон, планшет и т.д.);
- Ненадежный SSL-сертификат;
- Брандмауэр или антивирус, блокирующие сайт;
- Включенный экспериментальный интернет-протокол QUIC;
- Отсутствие обновлений операционной системы;
- Использование SSL-сертификата устаревшей версии 3.0;
- Появление ошибки «Invalid CSR» при генерации сертификата из панели управления облачного провайдера.
Давайте рассмотрим каждую из них подробнее.
Проблемы с датой и временем
Для исправления этой ошибки достаточно установить на устройстве актуальное время. После этого необходимо перезагрузить страницу или браузер.
Ненадежный SSL-сертификат
Одной из причин появления такой ошибки, как и в предыдущем случае, может стать неправильное время. Однако есть и вторая причина — браузеру не удается проверить цепочку доверия сертификата, потому что не хватает корневого сертификата. Для избавления от такой ошибки необходимо скачать специальный пакет GeoTrust Primary Certification Authority, содержащий корневые сертификаты. После скачивания переходим к установке. Для этого:
- Нажимаем сочетание клавиш Win+R и вводим команду certmgr.msc, жмем «Ок». В Windows откроется центр сертификатов.
- Раскрываем список «Доверенные корневые центры сертификации» слева, выбираем папку «Сертификаты», кликаем по ней правой кнопкой мышки и выбираем «Все задачи — импорт».
- Запустится мастер импорта сертификатов. Жмем «Далее».
- Нажимаем кнопку «Обзор» и указываем загруженный ранее сертификат. Нажимаем «Далее»:
- В следующем диалоговом окне указываем, что сертификаты необходимо поместить в доверенные корневые центры сертификации, и нажимаем «Далее». Импорт должен успешно завершиться.
После вышеперечисленных действий можно перезагрузить устройство и проверить отображение сайта в браузере.
Брандмауэр или антивирус, блокирующие сайт
Некоторые сайты блокируются брандмауэром Windows. Для проверки можно отключить брандмауэр и попробовать зайти на нужный сайт. Если SSL-сертификат начал работать корректно, значит дело в брандмауэре. В браузере Internet Explorer вы можете внести некорректно работающий сайт в список надежных и проблема исчезнет. Однако таким образом вы снизите безопасность своего устройства, так как содержимое сайта может быть небезопасным, а контроль сайта теперь отключен.
Включенный экспериментальный протокол QUIC
QUIC — это новый экспериментальный протокол, который нужен для быстрого подключения к интернету. Основная задача протокола QUIC состоит в поддержке нескольких соединений. Вы можете отключить этот протокол в конфигурации вашего браузера.
Показываем как отключить QUIC на примере браузера Google Chrome:
Этот способ работает и в Windows и в Mac OS.
Отсутствие обновлений операционной системы
Проблемы с SSL-сертификатами могут возникать и из-за того, что на вашей операционной системе давно не устанавливались обновлений. Особенно это касается устаревших версий Windows (7, Vista, XP и более ранние). Установите последние обновления и проверьте работу SSL.
Использование SSL-сертификата версии 3.0
Некоторые сайты используют устаревший SSL-протокол версии 3.0, который не поддерживают браузеры. По крайней мере, по умолчанию. Чтобы браузер поддерживал устаревший SSL необходимо сделать следующее (на примере браузера Google Chrome):
- Откройте браузер и перейдите в раздел «Настройки».
- Прокрутите страницу настроек вниз и нажмите «Дополнительные».
- В разделе «Система» найдите параметр «Настройки прокси-сервера» и кликните на него.
- Откроется окно. Перейдите на вкладку «Дополнительно».
- В этой вкладке вы увидите чекбокс «SSL 3.0».
- Поставьте галочку в чекбоксе, нажмите кнопку «Ок» и перезагрузите браузер.
Ошибки «Invalid CSR» при генерации сертификата из панели управления облачного провайдера
В процессе активации сертификата можно столкнуться с ошибкой «Invalid CSR». Такая ошибка возникает по следующим причинам:
Предлагаем разобраться со способами устранения подобных ошибок.
Что такое SSL?
SSL (Secure Socket Layer) — это интернет-протокол для создания зашифрованного соединения между пользователем и сервером, который гарантирует безопасную передачу данных.
Когда пользователь заходит на сайт, браузер запрашивает у сервера информацию о наличии сертификата. Если сертификат установлен, сервер отвечает положительно и отправляет копию SSL-сертификата браузеру. Затем браузер проверяет сертификат, название которого должно совпадать с именем сайта, срок действия сертификата и наличие корневого сертификата, выданного центром сертификации.
Причины возникновения ошибок SSL-соединения
Когда сертификат работает корректно, адресная строка браузера выглядит примерно так:
Но при наличии ошибок она выглядит несколько иначе:
Существует множество причин возникновения таких ошибок. К числу основных можно отнести:
- Некорректную дату и время на устройстве (компьютер, смартфон, планшет и т.д.);
- Ненадежный SSL-сертификат;
- Брандмауэр или антивирус, блокирующие сайт;
- Включенный экспериментальный интернет-протокол QUIC;
- Отсутствие обновлений операционной системы;
- Использование SSL-сертификата устаревшей версии 3.0;
- Появление ошибки «Invalid CSR» при генерации сертификата из панели управления облачного провайдера.
Давайте рассмотрим каждую из них подробнее.
Проблемы с датой и временем
Для исправления этой ошибки достаточно установить на устройстве актуальное время. После этого необходимо перезагрузить страницу или браузер.
Ненадежный SSL-сертификат
Одной из причин появления такой ошибки, как и в предыдущем случае, может стать неправильное время. Однако есть и вторая причина — браузеру не удается проверить цепочку доверия сертификата, потому что не хватает корневого сертификата. Для избавления от такой ошибки необходимо скачать специальный пакет GeoTrust Primary Certification Authority, содержащий корневые сертификаты. После скачивания переходим к установке. Для этого:
- Нажимаем сочетание клавиш Win+R и вводим команду certmgr.msc, жмем «Ок». В Windows откроется центр сертификатов.
- Раскрываем список «Доверенные корневые центры сертификации» слева, выбираем папку «Сертификаты», кликаем по ней правой кнопкой мышки и выбираем «Все задачи — импорт».
- Запустится мастер импорта сертификатов. Жмем «Далее».
- Нажимаем кнопку «Обзор» и указываем загруженный ранее сертификат. Нажимаем «Далее»:
- В следующем диалоговом окне указываем, что сертификаты необходимо поместить в доверенные корневые центры сертификации, и нажимаем «Далее». Импорт должен успешно завершиться.
После вышеперечисленных действий можно перезагрузить устройство и проверить отображение сайта в браузере.
Брандмауэр или антивирус, блокирующие сайт
Некоторые сайты блокируются брандмауэром Windows. Для проверки можно отключить брандмауэр и попробовать зайти на нужный сайт. Если SSL-сертификат начал работать корректно, значит дело в брандмауэре. В браузере Internet Explorer вы можете внести некорректно работающий сайт в список надежных и проблема исчезнет. Однако таким образом вы снизите безопасность своего устройства, так как содержимое сайта может быть небезопасным, а контроль сайта теперь отключен.
Включенный экспериментальный протокол QUIC
QUIC — это новый экспериментальный протокол, который нужен для быстрого подключения к интернету. Основная задача протокола QUIC состоит в поддержке нескольких соединений. Вы можете отключить этот протокол в конфигурации вашего браузера.
Показываем как отключить QUIC на примере браузера Google Chrome:
Этот способ работает и в Windows и в Mac OS.
Отсутствие обновлений операционной системы
Проблемы с SSL-сертификатами могут возникать и из-за того, что на вашей операционной системе давно не устанавливались обновлений. Особенно это касается устаревших версий Windows (7, Vista, XP и более ранние). Установите последние обновления и проверьте работу SSL.
Использование SSL-сертификата версии 3.0
Некоторые сайты используют устаревший SSL-протокол версии 3.0, который не поддерживают браузеры. По крайней мере, по умолчанию. Чтобы браузер поддерживал устаревший SSL необходимо сделать следующее (на примере браузера Google Chrome):
- Откройте браузер и перейдите в раздел «Настройки».
- Прокрутите страницу настроек вниз и нажмите «Дополнительные».
- В разделе «Система» найдите параметр «Настройки прокси-сервера» и кликните на него.
- Откроется окно. Перейдите на вкладку «Дополнительно».
- В этой вкладке вы увидите чекбокс «SSL 3.0».
- Поставьте галочку в чекбоксе, нажмите кнопку «Ок» и перезагрузите браузер.
Ошибки «Invalid CSR» при генерации сертификата из панели управления облачного провайдера
В процессе активации сертификата можно столкнуться с ошибкой «Invalid CSR». Такая ошибка возникает по следующим причинам:
Читайте также: