- Невозможно установить SSL-соединение при wget в Ubuntu 14.04 LTS
- 4 ответа
- Почему возникают ошибки SSL-соединения и как их исправить?
- Что такое SSL?
- Причины возникновения ошибок SSL-соединения
- Проблемы с датой и временем
- Ненадежный SSL-сертификат
- Брандмауэр или антивирус, блокирующие сайт
- Включенный экспериментальный протокол QUIC
- Отсутствие обновлений операционной системы
- Использование SSL-сертификата версии 3.0
- Ошибки «Invalid CSR» при генерации сертификата из панели управления облачного провайдера
- Не удалось установить SSL-соединение на wget на Ubuntu 14.04 LTS
- 3 ответов
Невозможно установить SSL-соединение при wget в Ubuntu 14.04 LTS
Я попытался загрузить изображение через wget, но получил сообщение об ошибке: не удалось установить SSL-соединение.
Мой тестовый пример:
- Используя Ubuntu 12.04.4 LTS (GNU / Linux 3.8.0-44-generic x86_64), GNU Wget 1.13.4, построенный на linux-gnu, я смог загрузить изображение, используя приведенный выше код. Нет ошибки.
- Используя Ubuntu 14.04 LTS (GNU / Linux 3.13.0-24-generic x86_64), GNU Wget 1.15, построенный на linux-gnu, мне не удалось загрузить изображение с помощью приведенного выше кода.
Другая переменная заключается в том, что сайт www.website.com использует TLS 1.0. Я понятия не имею, как это влияет на wget. Но если я получаю изображение с веб-сайтов TLS 1.2, я не получаю никаких ошибок соединения ssl в обоих тестовых случаях.
Ubuntu 14.04 или wget 1.15 несовместимы с веб-сайтами TLS 1.0? Нужно ли мне устанавливать / загружать какую-либо библиотеку / программное обеспечение, чтобы включить это соединение?
4 ответа
. сейчас это происходит только с веб-сайтом, который я тестирую. Я не могу разместить это здесь, потому что это конфиденциально.
Тогда я предполагаю, что это один из сайтов, несовместимых с TLS1.2. Openssl, используемый в 12.04, не использует TLS1.2 на стороне клиента, тогда как с 14.04 он использует TLS1.2, что может объяснить разницу. Чтобы обойти эту проблему, попробуйте явно использовать —secure-protocol=TLSv1 . Если это не помогает, проверьте, можете ли вы получить доступ к сайту с помощью openssl s_client -connect . (возможно, нет) и с помощью openssl s_client -tls1 -no_tls1_1, -no_tls1_2 . .
Обратите внимание, что это могут быть другие причины, но эта наиболее вероятна, и без доступа к сайту все в любом случае является лишь предположением.
Подробно предполагаемая проблема: Обычно клиенты используют наиболее совместимое рукопожатие для доступа к серверу. Это рукопожатие SSLv23, которое совместимо со старыми версиями SSL, но объявляет лучшую версию TLS, поддерживаемую клиентом, чтобы сервер мог выбрать лучшую версию. В этом случае wget объявит TLS1.2. Но есть несколько сломанных серверов, которые никогда не предполагали, что однажды будет что-то вроде TLS1.2, и которые отказываются от рукопожатия, если клиент объявляет о поддержке этой горячей новой версии (с 2008 года!), Вместо того, чтобы просто отвечать лучшей версией сервера. поддерживает. Чтобы получить доступ к этим сломанным серверам, клиент должен солгать и заявить, что он поддерживает только TLS1.0 как лучшую версию.
Ubuntu 14.04 или wget 1.15 несовместимы с веб-сайтами TLS 1.0? Нужно ли мне устанавливать / загружать какую-либо библиотеку / программное обеспечение, чтобы включить это соединение?
Проблема в сервере, а не в клиенте. Большинство браузеров обходят эти сломанные серверы, повторяя попытку с более ранней версией. Большинство других приложений не работают безвозвратно, если первая попытка подключения не удалась, то есть они не переходят на более раннюю версию сами по себе, и нужно принудительно применять другую версию с помощью некоторых настроек конкретного приложения.
Если вы доверяете хосту, добавьте действующий сертификат, укажите —no-check-certificate или добавьте:
В некоторых редких случаях ваше системное время может быть рассинхронизировано, что делает сертификаты недействительными.
Хотя это почти наверняка не проблема OP, вы также можете получить Unable to establish SSL connection от wget , если вы находитесь за прокси-сервером и не имеете HTTP_PROXY и Переменные среды HTTPS_PROXY установлены правильно. Убедитесь, что HTTP_PROXY и HTTPS_PROXY указывают на ваш прокси-сервер.
Это обычная ситуация, если вы работаете в большой корпорации.
Вы должны использовать старую версию wget, у меня была такая же проблема. Я использовал wget 1.12. поэтому для решения этой проблемы есть два способа: Обновите wget или используйте curl
Источник
Почему возникают ошибки SSL-соединения и как их исправить?
Зачастую после установки SSL-сертификатов многие пользователи сталкиваются с ошибками, которые препятствуют корректной работе защищенного протокола HTTPS.
Предлагаем разобраться со способами устранения подобных ошибок.
Что такое SSL?
SSL (Secure Socket Layer) — это интернет-протокол для создания зашифрованного соединения между пользователем и сервером, который гарантирует безопасную передачу данных.
Когда пользователь заходит на сайт, браузер запрашивает у сервера информацию о наличии сертификата. Если сертификат установлен, сервер отвечает положительно и отправляет копию SSL-сертификата браузеру. Затем браузер проверяет сертификат, название которого должно совпадать с именем сайта, срок действия сертификата и наличие корневого сертификата, выданного центром сертификации.
Причины возникновения ошибок SSL-соединения
Когда сертификат работает корректно, адресная строка браузера выглядит примерно так:
Но при наличии ошибок она выглядит несколько иначе:
Существует множество причин возникновения таких ошибок. К числу основных можно отнести:
- Некорректную дату и время на устройстве (компьютер, смартфон, планшет и т.д.);
- Ненадежный SSL-сертификат;
- Брандмауэр или антивирус, блокирующие сайт;
- Включенный экспериментальный интернет-протокол QUIC;
- Отсутствие обновлений операционной системы;
- Использование SSL-сертификата устаревшей версии 3.0;
- Появление ошибки «Invalid CSR» при генерации сертификата из панели управления облачного провайдера.
Давайте рассмотрим каждую из них подробнее.
Проблемы с датой и временем
Если на устройстве установлены некорректные дата и время, ошибка SSL-соединения неизбежна, ведь при проверке сертификата происходит проверка срока его действия. Современные браузеры умеют определять такую ошибку самостоятельно и выводят сообщение о неправильно установленной дате или времени.
Для исправления этой ошибки достаточно установить на устройстве актуальное время. После этого необходимо перезагрузить страницу или браузер.
Ненадежный SSL-сертификат
Иногда при переходе на сайт, защищенный протоколом HTTPS, появляется ошибка «SSL-сертификат сайта не заслуживает доверия».
Одной из причин появления такой ошибки, как и в предыдущем случае, может стать неправильное время. Однако есть и вторая причина — браузеру не удается проверить цепочку доверия сертификата, потому что не хватает корневого сертификата. Для избавления от такой ошибки необходимо скачать специальный пакет GeoTrust Primary Certification Authority, содержащий корневые сертификаты. После скачивания переходим к установке. Для этого:
- Нажимаем сочетание клавиш Win+R и вводим команду certmgr.msc, жмем «Ок». В Windows откроется центр сертификатов.
- Раскрываем список «Доверенные корневые центры сертификации» слева, выбираем папку «Сертификаты», кликаем по ней правой кнопкой мышки и выбираем «Все задачи — импорт».
- Запустится мастер импорта сертификатов. Жмем «Далее».
- Нажимаем кнопку «Обзор» и указываем загруженный ранее сертификат. Нажимаем «Далее»:
- В следующем диалоговом окне указываем, что сертификаты необходимо поместить в доверенные корневые центры сертификации, и нажимаем «Далее». Импорт должен успешно завершиться.
После вышеперечисленных действий можно перезагрузить устройство и проверить отображение сайта в браузере.
Брандмауэр или антивирус, блокирующие сайт
Некоторые сайты блокируются брандмауэром Windows. Для проверки можно отключить брандмауэр и попробовать зайти на нужный сайт. Если SSL-сертификат начал работать корректно, значит дело в брандмауэре. В браузере Internet Explorer вы можете внести некорректно работающий сайт в список надежных и проблема исчезнет. Однако таким образом вы снизите безопасность своего устройства, так как содержимое сайта может быть небезопасным, а контроль сайта теперь отключен.
Также SSL может блокировать антивирусная программа. Попробуйте отключить в антивирусе проверку протоколов SSL и HTTPS и зайти на сайт. При необходимости добавьте сайт в список исключений антивируса.
Включенный экспериментальный протокол QUIC
QUIC — это новый экспериментальный протокол, который нужен для быстрого подключения к интернету. Основная задача протокола QUIC состоит в поддержке нескольких соединений. Вы можете отключить этот протокол в конфигурации вашего браузера.
Показываем как отключить QUIC на примере браузера Google Chrome:
- Откройте браузер и введите команду chrome://flags/#enable-quic;
- В появившемся окне будет выделен параметр: Experimental QUIC protocol (Экспериментальный протокол QUIC). Под названием этого параметра вы увидите выпадающее меню, в котором нужно выбрать опцию: Disable.
- После этого просто перезапустите браузер.
Этот способ работает и в 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-соединение на wget на Ubuntu 14.04 LTS
Я попытался загрузить изображение через wget, но получил ошибку: не удалось установить SSL-соединение.
- использование Ubuntu 12.04.4 LTS( GNU / Linux 3.8.0-44-generic x86_64), GNU Wget 1.13.4 построенный на linux-gnu, я смог загрузить изображение используя код выше. Никакая ошибка.
- используя Ubuntu 14.04 LTS (GNU / Linux 3.13.0-24-generic x86_64), GNU Wget 1.15, построенный на linux-gnu, я не смог загрузить изображение с помощью код выше.
другая переменная заключается в том, что www.website.com использует TLS 1.0. Я понятия не имею, как это влияет на wget. Но если я получаю изображение с веб-сайтов TLS 1.2, я не получаю ошибок ssl-соединения из обоих тестовых случаев.
Ubuntu 14.04 или wget 1.15 несовместимы с веб-сайтами TLS 1.0? Нужно ли устанавливать / загружать любую библиотеку / программное обеспечение для включения этого соединения?
3 ответов
. сейчас это происходит только с сайтом, который я тестирую. Я не могу опубликовать его здесь, потому что это конфиденциально.
тогда я думаю, что это один из сайтов, который несовместим с TLS1.2. Openssl, используемый в 12.04, не использует TLS1.2 на стороне клиента, а с 14.04 он использует TLS1.2 что может объяснить разницу. Чтобы обойти попробуйте явно указать —secure-protocol=TLSv1 . Если это не поможет проверить, можете ли вы получить доступ к сайту с помощью openssl s_client -connect . (вероятно, нет) и с openssl s_client -tls1 -no_tls1_1, -no_tls1_2 . .
обратите внимание, что это могут быть другие причины, но это наиболее вероятно, и без получения доступа к сайту все это просто спекуляции в любом случае.
предполагаемая проблема подробно: обычно клиенты используют наиболее совместимое рукопожатие для доступа к серверу. Это SSLv23 рукопожатие, которое совместимо со старыми версиями SSL, но объявляет лучшую версию TLS, поддерживаемую клиентом, чтобы сервер мог выбрать лучшую версию. В этом случае wget объявит TLS1.2. Но есть некоторые сломанные серверы, которые никогда не предполагали, что однажды будет что-то вроде TLS1.2 и которые отказываются от рукопожатия, если клиент объявляет о поддержке этой горячей новой версии (с 2008 года!) вместо того, чтобы просто отвечать лучшей версией, поддерживаемой сервером. Для доступа к этим сломанным серверам клиент должен лгать и утверждать, что он поддерживает только TLS1.0 как лучшая версия.
Ubuntu 14.04 или wget 1.15 не совместим с TLS 1.0 веб-сайты? Нужно ли устанавливать / загружать любую библиотеку / программное обеспечение для включения этого соединения?
проблема сервера, а не клиента. Большинство браузеров работают вокруг этих сломанных серверов, повторяя попытку с более низкой версией. Большинство других приложений терпят неудачу постоянно, если первая попытка подключения терпит неудачу, т. е. они не понижаются сами по себе, и нужно принудительно использовать другую версию некоторыми настройками приложения.
вы должны использовать старую версию wget у меня была такая же проблема. я использовал wget 1.12.поэтому для решения этой проблемы есть 2 способа: Update wget или использовать curl
Если Вы доверяете хосту, либо добавьте действительный сертификат, укажите —no-check-certificate и добавить:
в некоторых редких случаях ваше системное время может быть не синхронизировано, поэтому аннулирование сертификатов.
Источник