Openssl error 14077410

I am trying to download files from an https site and keep getting the following error: OpenSSL: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure Unable to establish...

I am trying to download files from an https site and keep getting the following error:

OpenSSL: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
Unable to establish SSL connection.

From reading blogs online I gather I have to provide the server cert and the client cert. I have found steps on how to download the server cert but not the client cert. Does anyone have a complete set of steps to use wget with SSL? I also tried the —no-check-certificate option but that did not work.

wget version: wget-1.13.4
openssl version: OpenSSL 1.0.1f 6 Jan 2014

trying to download all lecture resources from a course’s webpage on coursera.org. So, the URL would look something like this: https://class.coursera.org/matrix-002/lecture

Accessing this webpage online requires form authentication, not sure if that is causing the failure.

Evan Carroll's user avatar

Evan Carroll

76k45 gold badges251 silver badges444 bronze badges

asked Jun 13, 2015 at 10:56

sotn's user avatar

3

It works from here with same OpenSSL version, but a newer version of wget (1.15). Looking at the Changelog there is the following significant change regarding your problem:

1.14: Add support for TLS Server Name Indication.

Note that this site does not require SNI. But www.coursera.org requires it.
And if you would call wget with -v --debug (as I’ve explicitly recommended in my comment!) you will see:

$ wget https://class.coursera.org
...
HTTP request sent, awaiting response...
  HTTP/1.1 302 Found
...
Location: https://www.coursera.org/ [following]
...
Connecting to www.coursera.org (www.coursera.org)|54.230.46.78|:443... connected.
OpenSSL: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
Unable to establish SSL connection.

So the error actually happens with www.coursera.org and the reason is missing support for SNI. You need to upgrade your version of wget.

answered Jun 14, 2015 at 6:48

Steffen Ullrich's user avatar

Steffen UllrichSteffen Ullrich

110k10 gold badges129 silver badges167 bronze badges

3

You probably have an old version of wget. I suggest installing wget using Chocolatey, the package manager for Windows. This should give you a more recent version (if not the latest).

Run this command after having installed Chocolatey (as Administrator):

choco install wget

answered Dec 12, 2018 at 18:35

Pheelbert's user avatar

PheelbertPheelbert

1991 silver badge10 bronze badges

1

I was in SLES12 and for me it worked after upgrading to wget 1.14, using —secure-protocol=TLSv1.2 and using —auth-no-challenge.

wget --no-check-certificate --secure-protocol=TLSv1.2 --user=satul --password=xxx --auth-no-challenge -v --debug https://jenkins-server/artifact/build.x86_64.tgz

answered Feb 12, 2018 at 8:50

Atul Soman's user avatar

Atul SomanAtul Soman

4,5224 gold badges29 silver badges42 bronze badges

3

One alternative is to replace the «https» with «http» in the url that you’re trying to download from to just circumvent the SSL connection. Not the most secure solution, but this worked in my case.

answered Mar 15, 2018 at 13:44

JohnnyUtah's user avatar

JohnnyUtahJohnnyUtah

3334 silver badges10 bronze badges

1

I was having this problem on Ubuntu 12.04.3 LTS (well beyond EOL, I know…) and got around it with:

sudo apt-get update && sudo apt-get install ca-certificates

answered Apr 24, 2018 at 16:52

jaybrau's user avatar

jaybraujaybrau

4031 gold badge3 silver badges9 bronze badges

Basically your OpenSSL uses SSLv3 and the site you are accessing does not support that protocol.

Just update your wget:

sudo apt-get install wget

Or if it is already supporting another secure protocol, just add it as argument:

wget https://example.com --secure-protocol=PROTOCOL_v1

answered Aug 28, 2017 at 2:18

Rad Apdal's user avatar

Rad ApdalRad Apdal

4421 gold badge6 silver badges16 bronze badges

Otherwise might be just simpler to use curl instead.
There is no peculiar need to specify any option and can be simply:

curl https://example.com/filename.zip

with curl there is no need to add the -v option when facing the wget SSL error.

answered Sep 6, 2021 at 5:52

Taurus Bond's user avatar

2

Содержание

  1. Ошибка: ошибка: 14077410: подпрограммы SSL: SSL23_GET_SERVER_HELLO: сбой квитирования оповещения sslv3
  2. Решение
  3. Другие решения
  4. MAMP Ошибка SSL: & quot; ошибка: 14077410: процедуры SSL: SSL23_GET_SERVER_HELLO: ошибка квитирования оповещения sslv3 & quot;
  5. Решение
  6. Другие решения
  7. curl: (35) error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
  8. При проверке ssl Ошибка
  9. Re: v2
  10. Спасибо щас проверю
  11. Ошибка рукопожатия wget ssl alert
  12. Как исправить ошибку SSL-соединения (ERR_SSL_PROTOCOL_ERROR)

Ошибка: ошибка: 14077410: подпрограммы SSL: SSL23_GET_SERVER_HELLO: сбой квитирования оповещения sslv3

этот код работает на локальном хосте, но когда я тестирую на своем живом сервере, он выдаст мне эту ошибку Ошибка: ошибка: 14077410: подпрограммы SSL: SSL23_GET_SERVER_HELLO: сбой квитирования оповещения sslv3 тогда я попробовал это

github.com/paypal/TLS-update/tree/master/php это снова будет работать на локальном хосте, а в прямом эфире это дает мне это

мой сервер имеет эти сертификаты

Ключ сервера и сертификат № 1

# 2

# 3

проверенные требования в

Решение

TL; TR: ваше программное обеспечение устарело для поддержки этих серверов.

Оба сервера поддерживают только TLS 1.2, что видно при проверке с помощью SSLLabs . Ваша версия OpenSSL — 1.0.0s, которая еще не поддерживает TLS 1.2. Поддержка доступна только с 1.0.1.

мой сервер имеет эти сертификаты …

Настройка вашего веб-сервера (то есть сертификаты, версии TLS …) не имеет значения, потому что в этом случае вы являетесь клиентом, подключающимся к другому серверу.

Другие решения

Ваш сервер может поддерживать TLS 1.2, но вы должны убедиться, что HTTP-запросы действительно его используют. Судя по полученному вами результату, вы, очевидно, не используете TLS 1.2 с запросами.

Попробуйте добавить это к вашим опциям cURL:

Это заставит TLS 1.2.

Или обновите стек программного обеспечения вашего сервера, и это произойдет автоматически. Увидеть эта почта для более подробной информации, самое главное эта часть:

Если вы хотите использовать TLS 1.2, вам нужно будет как минимум перейти на OpenSSL 1.0.1, а затем установить CURLOPT_SSLVERSION на 6 (TLS 1.2).

Если вы хотите, чтобы TLS 1.2 использовался автоматически во время запросов SSL, вам также необходимо обновить его до PHP 5.5.19+ (это идеальное решение, но многие проекты все еще используют более старые версии PHP).

Источник

MAMP Ошибка SSL: & quot; ошибка: 14077410: процедуры SSL: SSL23_GET_SERVER_HELLO: ошибка квитирования оповещения sslv3 & quot;

Я использую MAMP на OS X Yosemite для разработки веб-сайта на моей локальной машине. Веб-сайт — это клиентское приложение для API, работающего по протоколу HTTPS. Я продолжаю получать эту ошибку, когда я пытаюсь вызвать API из PHP:

Тот же код работает на сервере, но сайт уже работает, поэтому мне нужно создать отдельную среду разработки. Я получаю точно такую ​​же ошибку, вызываю ли я API с помощью cURL или file_get_contents , Я могу использовать cURL в командной строке или загрузить URL в моем браузере, и он отлично работает. Я часами читал и пробовал все другие решения, которые мог найти на этом сайте и в других местах, и ни одно из них не сработало. Кто-нибудь еще видел эту проблему?

Обновить: Я наконец-то нашел решение в своем последнем случае, прежде чем опубликовать этот вопрос, но это был настолько болезненный процесс, что я все равно публикую его в надежде, что он может помочь кому-то еще избежать этой трагической катастрофы. Мое решение ниже.

Решение

  1. brew install openssl
  2. Загрузите и распакуйте последнюю версию завивать

В исходном каталоге cURL:

В PHP между curl_init а также curl_exec :

Путь к поиску решения начался с этот сайт , который описывает другую ошибку SSL на MAMP и предлагает перекомпилировать новую версию cURL с
—prefix=/Applications/MAMP/Library/ переписать тот, который использует MAMP. Я попробовал это, но это не сработало. Позже, что-то побудило меня изучить параметры компиляции cURL, и я заметил инструкции для указания другой версии OpenSSL при компиляции. Я решил попробовать (пообещав себе, что это последняя попытка, а потом я сдаюсь). Я установил обновленный пакет OpenSSL с Homebrew, и его полезная информация после установки сказала:

Это выглядело примерно так, как я видел в опциях компиляции cURL, в которых был указан правильный синтаксис:

Я добавил обратно в —prefix=/Applications/MAMP/Library/ с последующим обычным make а также make install , перезапустил MAMP и вздохнул с облегчением.

Позже я обнаружил, что один из вариантов cURL, который я добавил с другого сайта, также был необходим, чтобы избежать другой ошибки SSL («Проблема с сертификатом SSL: невозможно получить сертификат локального эмитента»). настройка CURLOPT_SSL_VERIFYPEER ложный решил, что один для меня.

Другие решения

Вот решение, которое работает для меня на MAMP Pro 3.5, работающей на OSX 10.11.1

В вашем PHP может потребоваться установить версию SSL и соответствующий шифр для curl_init() :

Для точных параметров вы можете перейти к CURLOPT_SSLVERSION увидеть: http://php.net/manual/en/function.curl-setopt.php

Также ниже могут отображаться ошибки, связанные с версиями SSL, которые используются для точного определения конфликта версий:

У меня была такая же проблема. Я решил это, вместо этого используя предпочтительную программу SSL SecureTransport. Следующее работало для меня:

  1. Загрузите последнюю версию curl (zip) с Вот
  2. Перейдите в папку загрузок и извлеките zip-файл, дважды щелкнув по нему. Теперь в ваших загрузочных папках будет папка с извлеченными файлами.
  3. Откройте терминал и перейдите в папку
    `cd

/ Downloads / curl-folder-name ‘

  • Тогда в терминальном типе ./configure —prefix=/Applications/MAMP/Library/ —with-darwinssl
  • make && make install
  • Перезапустите MAMP и посмотрите, сработали ли изменения. Один из способов проверки состоит в том, чтобы вызвать следующее в вашей программе MAMP php в терминале:

    /Applications/MAMP/bin/php/php5.5.14/bin/php -r ‘echo json_encode(curl_version(), JSON_PRETTY_PRINT);’

    Тебе следует увидеть «ssl_version»: «SecureTransport»

    Я решил это, обновив локон. (отметьте версию curl и версию openssl, они могут не совпадать)

    curl 7.12.1 требует OpenSSL / 0.9.7a, но мой OpenSSL — 1.0.2m.

    $ curl -V curl 7.12.1 (x86_64-redhat-linux-gnu) libcurl / 7.12.1 OpenSSL / 0.9.7a zlib / 1.2.1.2 libidn / 0.5.6 Протоколы: ftp gopher telnet dict ldap http файл https ftps Особенности : GSS-согласование IDN IPv6 Largefile NTLM SSL libz

    $ openssl версия OpenSSL 1.0.2m 2 ноября 2017 г.

    Источник

    curl: (35) error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure

    Пытаюсь установить pip на centos 5, но после команды

    Инфа по версиям:

    Предполагаю что проблема в том что curl вяжется к старой версии openssl, но как фиксить не понимаю

    наверное сервер не хочет по дырявому SSLv3 соединяться

    что значит по дырявому

    подверженному уязвимостям безопасности

    а что делать тогда

    обновить centos 5 на что-то более современное

    или хотя бы curl

    «curl version 7.15.5 was released on August 7 2006.»

    эта версия OpenSSL 3.0 точно никак не подцепит

    Centos5 не умеет качать с бОльшей части https-интернета, т.к. не знает современные cypher’ы у openssl, а те, что знает, выключены у этой самой бОльшей части https-интернета. Именно поэтому в прошлом треде я и указал на копрофагию.

    P.S. Да, у меня есть старый прод (который скоро закроется, надеюсь) на centos5, я знаю, о чем говорю.

    сначала обновил curl через yum update curl, после этого к curl-у подвязался openssl-1.0.1, но curl всё равно был старенький

    потом обновил curl через репозиторий city-fan, теперь версия curl 7.53.1,но опять к нему подвязался openssl 0.9.8b и опять таже ошибка с SSL23_GET_SERVER_HELLO

    Что делать? спасайте

    Тебе уже говорили, что это хреновая идея? Так вот, это хреновая идея. Скажи спасибо, что устаревший curl помешал тебе сделать глупость

    Скачать скрипт ты можешь через любой хост. А перед выполнением проверить, что он делает

    эта версия OpenSSL 3.0 точно никак не подцепит

    В Debian Bullseye 1.1.1k-1. В Fedora 34 1.1.1l-1. В Fedora 36 на 2021-09-09 3.0.0-1

    Ты точно ничего не употребил?

    Ничего ты центос 5 и 6 не обновишь. В прошлом году все закрыли.

    Источник

    При проверке ssl Ошибка

    Доброе время суток Centos 6.6 под webserver Методы написанные на tomcat7 java нужно было прописать https по порту 8181 Все работает отлично ssl прописывал не в apache а в tomcat настройках Но при отправке с клиентской стороны запрос выдает ошибку

    * About to connect() to domain.com port 8181 * Trying 10.10.10.10. connected * Connected to domain.com (10.10.10.10) port 8181 * successfully set certificate verify locations: * CAfile: /etc/pki/tls/certs/ca-bundle.crt CApath: none * SSLv2, Client hello (1): error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure * Closing connection #0 curl: (35) error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure

    Или проверил через онлайн сервис ssl на моем домене Unable to connect server ssl 2.0 он даже до tls1 не дошел незнаю как решить проблему

    оно тухлое и obsolete, многие его закрывают уже.

    Ну это я знаю что же поделать если сервис требует Нужно делать

    Re: v2

    что это за говносервис такой, чтоб моей ноги там не было? ладно TLSv1, его надо саппортить ради старых XMPP-клиентов и мобильников, а такая древнота.

    Вот такой сервис платежный!

    SSLv2 не хорошая вещь. она вроде по умолчанию выключена. её надо включать принудительно. Но вообще это делать не рекомендуется т.к. геморра будет всё равно много.

    Что-то типа такого

    при запуске выстави -Djavax.net.debug=all и получишь инфу о игнорировании сертификатов и протоколов и т.п. инфу.

    Спасибо щас проверю

    Ошибка еще вот такая вот когда клиент обращается на мой сервер

    12:04:22,606 INFO Thread-4 WebServiceWorker:downloadCertificate:838 — start download certificat for: domain.com:8443 pathks:/usr/java/jre1.6.0_45/lib/security/cacerts 12:04:22,607 INFO Thread-4 WebServiceWorker:downloadCertificate:851 — loading keystore /usr/java/jre1.6.0_45/lib/security/cacerts. Opening connection to domain.com:8443.

    12:04:22,631 INFO Thread-4 WebServiceWorker:downloadCertificate:870 — Starting SSL handshake. 12:04:22,640 ERROR Thread-4 WebServiceWorker:downloadCertificate:876 — javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure 12:04:22,641 ERROR Thread-4 WebServiceWorker:downloadCertificate:881 — Could not obtain server certificate chain 12:04:22,641 ERROR Thread-4 WebServiceWorker:downloadCertificate:911 — java.lang.NullPointerException Якобы связанно что не могут скачать сертификат

    а ты его добавил ? Типа такого

    keytool -import -trustcacerts -alias abctest -file abctest.cer -keystore cacerts

    у вас что к платежкой системе нет никакой документации.

    Источник

    Ошибка рукопожатия wget ssl alert

    Как исправить ошибку SSL-соединения (ERR_SSL_PROTOCOL_ERROR)

    Я пытаюсь загрузить файлы с https-сайта и получаю следующую ошибку:

    Читая блоги в Интернете, я понял, что должен предоставить сертификат сервера и сертификат клиента. Я нашел шаги по загрузке сертификата сервера, но не сертификата клиента. У кого-нибудь есть полный набор шагов по использованию wget с SSL? Я также попробовал опцию —no-check-certificate, но это не сработало.

    пытаюсь загрузить все ресурсы лекций с веб-страницы курса на coursera.org. Итак, URL-адрес будет выглядеть примерно так: https://class.coursera.org/matrix-002/lecture

    Для доступа к этой веб-странице в Интернете требуется проверка подлинности с помощью формы, но не уверен, что это является причиной сбоя.

    • 1 Это может быть что угодно, например неподдерживаемый протокол, шифры, SNI . Но обычно это не связано с проверкой сертификата сервера. Добавьте дополнительные сведения, такие как версия wget, версия openssl и сайт, к которому вы пытаетесь получить доступ. Также используйте wget -v —debug .
    • пожалуйста, помогите мне решить эту проблему. я буду очень благодарен. security.stackexchange.com/questions/240008/…

    Отсюда он работает с той же версией OpenSSL, но с более новой версией wget (1.15). Если посмотреть на журнал изменений, можно заметить следующие существенные изменения, касающиеся вашей проблемы:

    1.14: Добавить поддержку для указания имени сервера TLS.

    Обратите внимание, что этот сайт не требует SNI. Но www.coursera.org требует этого. И если вы вызовете wget с -v —debug (как я явно рекомендовал в своем комментарии!) вы увидите:

    Итак, ошибка на самом деле происходит с www.coursera.org Причина в отсутствии поддержки SNI. Вам необходимо обновить свою версию wget.

    • Никогда не думал об обновлении wget. Спасибо за подсказку!
    • 1 Итак, если мы работаем на сервере RHEL 6 как пользователь без возможности обновления любой пакет, как решить такую ​​проблему?
    • @Vitor: если вы используете последнюю версию RHEL 6, вы используете wget-1.12-10. Согласно этой поддержке SNI была перенесена на wget-1.12-4 в 2014 году. Если это не работает для вас, это может быть другой проблемой, поэтому вам следует создать новый вопрос с достаточной детализацией.

    Я был в SLES12, и у меня он работал после обновления до wget 1.14, используя —secure-protocol = TLSv1.2 и используя —auth-no-challenge.

    • 6 —secure-protocol возможно auto , SSLv2 , SSLv3 или TLSv1 . Нет варианта TLSv1.2
    • Но есть вариант —secure-protocol=TLSv1_2 . Думаю, это была просто опечатка.

    Один из альтернатив — заменить «https» на «http» в URL-адресе, с которого вы пытаетесь выполнить загрузку, чтобы просто обойти SSL-соединение. Не самое безопасное решение, но в моем случае это сработало.

    Вероятно, у вас старая версия wget. Я предлагаю установить wget с помощью Chocolatey, менеджера пакетов для Windows. Это должно дать вам более свежую версию (если не последнюю).

    Выполните эту команду после установки Chocolatey (от имени администратора):

    У меня была эта проблема на Ubuntu 12.04.3 LTS (я знаю, далеко за пределами EOL . ), и я решил ее:

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

    Просто обновите свой wget:

    sudo apt-get install wget

    Или, если он уже поддерживает другой безопасный протокол, просто добавьте его в качестве аргумента:

    wget https://example.com —secure-protocol=PROTOCOL_v1

    Ниже приведена команда для загрузки файлов с веб-сайта TLSv1.2.

    Источник

    OpenSSL: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure

    Unable to establish SSL connection.
    curl: (35) error:140773F2:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert unexpected message

    Description: An error occurred when using wget or curl to download a website file with HTTPS
    Problem analysis: The above error is caused when you access sSLv3 data with OpenSSL 0.9.8h installed.
    This is because this version does not automatically detect the SSL version and must be specified manually when used. The lower version does not need to be specified.
    Example method:
    To use a shell script, write curl -3 -k “https://xxxx”
    Using PHP curl requires setting curl_setopt($ch, CURLOPT_SSLVERSION, 3);
    Details:Use WGET to download:

    wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz
    

    Error:
    Resolving fastdl.mongodb.org… 54.230.156.120, 54.230.156.74, 54.230.156.86, …
    Connecting to fastdl.mongodb.org|54.230.156.120|:443… connected.
    OpenSSL: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
    Unable to establish SSL connection.
    Add –no-check-certificate still error

    wget --no-check-certificate  https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz
    

    Curl downloads, as the Internet says, still doesn’t work

    curl -O -L https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz  Sometimes, curl-O-L-L works pretty well.
    
    wget https://dl.influxdata.com/influxdb/releases/influxdb-1.0.2.x86_64.rpm  You can directly rpm -ivh xxx or use curl -O-L for something like this.
    

    Error message:
    curl: (35) error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
    Problem tracing:
    Upgrade opensSL and other libraries. SSLv3 is disabled because of a security vulnerability, so you need an SSL/TLS library that supports TLSv1.0, TLSv1.1, or TLSv1.2 to access most of the world’s up-to-date websites. In short, upgrade the software version.
    [Knowledge Development]
    Linux USES curl access HTTPS site all error are collated – CSDN blog https://blog.csdn.net/duan19056/article/details/51785728

    Read More:

    • [Solved] Git Clone Error: error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version
    • [Solved] Git OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054
    • [Solved] OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054
    • Git Pull Error: RPC failed; curl 56 OpenSSL SSL_read: SSL_ERROR_SYSCALL, errfno 10054
    • Git push error: RPC failed; curl 7 OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054
    • Git Error: error RPC failed; curl 56 OpenSSL SSL_read SSL_ERROR_SYSCALL, errno 10054
    • [Solved] github Access Error: OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054
    • [Solved] Github Push Codes Error: “error:RPC failed;curl 56 OpenSSL SSL_read:SSL_ERROR_SYSCALL,errno 10054”
    • [Solved] OpenSSL ssL_read: Connection was aborted,errno 10053
    • [Solved] zabbix Error: Cannot perform request: error:141A318A:SSL routines:tls_process_ske_dhe:dh key too small
    • [Solved] MySQL workbench Error: SSL connection error: SSL is required but the server doesn‘t support it.
    • [Solved] LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443
    • [Solved] pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available
    • Flutter Xcode Module not found or LibreSSL SSL_connect: SSL_ERROR_SYSCALL
    • SSL_read: SSL_ERROR_SYSCALL, errno 10054 [How to Solve]
    • [Solved] LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443
    • [Solved] Android7 8 Jack server SSL error: Jack server failed to (re)start, try ‘jack-diagnose’ or see Jack server log
    • git clone,pod install error: RPC failed; curl 56 LibreSSL SSL_read: SSL_ERROR_SYSCALL, errno 54
    • [Solved] Postman Error: SSL Error: Self signed certificate Disable SSL Verification
    • git submodule add Error: SSL certificate problem unable to get local issuer certificate

    Как исправить ошибку SSL-соединения (ERR_SSL_PROTOCOL_ERROR)

    Я пытаюсь загрузить файлы с https-сайта и получаю следующую ошибку:

    OpenSSL: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure Unable to establish SSL connection. 

    Читая блоги в Интернете, я понял, что должен предоставить сертификат сервера и сертификат клиента. Я нашел шаги по загрузке сертификата сервера, но не сертификата клиента. У кого-нибудь есть полный набор шагов по использованию wget с SSL? Я также попробовал опцию —no-check-certificate, но это не сработало.

    wget version: wget-1.13.4 openssl version: OpenSSL 1.0.1f 6 Jan 2014 

    пытаюсь загрузить все ресурсы лекций с веб-страницы курса на coursera.org. Итак, URL-адрес будет выглядеть примерно так: https://class.coursera.org/matrix-002/lecture

    Для доступа к этой веб-странице в Интернете требуется проверка подлинности с помощью формы, но не уверен, что это является причиной сбоя.

    • 1 Это может быть что угодно, например неподдерживаемый протокол, шифры, SNI …. Но обычно это не связано с проверкой сертификата сервера. Добавьте дополнительные сведения, такие как версия wget, версия openssl и сайт, к которому вы пытаетесь получить доступ. Также используйте wget -v --debug.
    • пожалуйста, помогите мне решить эту проблему. я буду очень благодарен. security.stackexchange.com/questions/240008/…

    Отсюда он работает с той же версией OpenSSL, но с более новой версией wget (1.15). Если посмотреть на журнал изменений, можно заметить следующие существенные изменения, касающиеся вашей проблемы:

    1.14: Добавить поддержку для указания имени сервера TLS.

    Обратите внимание, что этот сайт не требует SNI. Но www.coursera.org требует этого. И если вы вызовете wget с -v --debug (как я явно рекомендовал в своем комментарии!) вы увидите:

    $ wget https://class.coursera.org ... HTTP request sent, awaiting response... HTTP/1.1 302 Found ... Location: https://www.coursera.org/ [following] ... Connecting to www.coursera.org (www.coursera.org)|54.230.46.78|:443... connected. OpenSSL: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure Unable to establish SSL connection. 

    Итак, ошибка на самом деле происходит с www.coursera.org Причина в отсутствии поддержки SNI. Вам необходимо обновить свою версию wget.

    • Никогда не думал об обновлении wget. Спасибо за подсказку!
    • 1 Итак, если мы работаем на сервере RHEL 6 как пользователь без возможности обновления любой пакет, как решить такую ​​проблему?
    • @Vitor: если вы используете последнюю версию RHEL 6, вы используете wget-1.12-10. Согласно этой поддержке SNI была перенесена на wget-1.12-4 в 2014 году. Если это не работает для вас, это может быть другой проблемой, поэтому вам следует создать новый вопрос с достаточной детализацией.

    Я был в SLES12, и у меня он работал после обновления до wget 1.14, используя —secure-protocol = TLSv1.2 и используя —auth-no-challenge.

    wget --no-check-certificate --secure-protocol=TLSv1.2 --user=satul --password=xxx --auth-no-challenge -v --debug https://jenkins-server/artifact/build.x86_64.tgz 
    • 6 --secure-protocol возможно auto, SSLv2, SSLv3 или TLSv1. Нет варианта TLSv1.2
    • Но есть вариант --secure-protocol=TLSv1_2. Думаю, это была просто опечатка.

    Один из альтернатив — заменить «https» на «http» в URL-адресе, с которого вы пытаетесь выполнить загрузку, чтобы просто обойти SSL-соединение. Не самое безопасное решение, но в моем случае это сработало.

    Вероятно, у вас старая версия wget. Я предлагаю установить wget с помощью Chocolatey, менеджера пакетов для Windows. Это должно дать вам более свежую версию (если не последнюю).

    Выполните эту команду после установки Chocolatey (от имени администратора):

    choco install wget 

    У меня была эта проблема на Ubuntu 12.04.3 LTS (я знаю, далеко за пределами EOL …), и я решил ее:

    sudo apt-get update && sudo apt-get install ca-certificates 

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

    Просто обновите свой wget:

    sudo apt-get install wget

    Или, если он уже поддерживает другой безопасный протокол, просто добавьте его в качестве аргумента:

    wget https://example.com --secure-protocol=PROTOCOL_v1

    Ниже приведена команда для загрузки файлов с веб-сайта TLSv1.2.

    curl -v —tlsv1.2 https://example.com/filename.zip

    Это сработало!

    Tweet

    Share

    Link

    Plus

    Send

    Send

    Pin

    I have a setup using a MikroTik router as OpenVPN server for Windows clients that has worked for a number of years now.
    Everything works fine with OpenVPN Client 2.3.10 or older, but when I attempt to use OpenVPN Client 2.3.11 I am getting a TSL error.

    The change log does not mention anything in particularly useful, closest I can find is «Restrict default TLS cipher list» but it isn’t very enlightening.

    Code: Select all

    * OpenVPN 2.3.11 x86_64-w64-mingw32 [SSL (OpenSSL)] [LZO] [PKCS11] [IPv6] built on May 10 2016
    * Windows version 6.2 (Windows 8 or greater) 64bit
    * library versions: OpenSSL 1.0.1t  3 May 2016, LZO 2.09
    Enter Management Password:
    * MANAGEMENT: TCP Socket listening on [AF_INET]127.0.0.1:25340
    * Need hold release from management interface, waiting...
    * MANAGEMENT: Client connected from [AF_INET]127.0.0.1:25340
    * MANAGEMENT: CMD 'state on'
    * MANAGEMENT: CMD 'log all on'
    * MANAGEMENT: CMD 'hold off'
    * MANAGEMENT: CMD 'hold release'
    * Control Channel MTU parms [ L:1543 D:1210 EF:40 EB:0 ET:0 EL:3 ]
    * Socket Buffers: R=[65536->65536] S=[65536->65536]
    * MANAGEMENT: >STATE:1471505278,RESOLVE,,,
    * Data Channel MTU parms [ L:1543 D:1450 EF:43 EB:12 ET:0 EL:3 ]
    * Local Options String: 'V4,dev-type tun,link-mtu 1543,tun-mtu 1500,proto TCPv4_CLIENT,cipher BF-CBC,auth SHA1,keysize 128,key-method 2,tls-client'
    * Expected Remote Options String: 'V4,dev-type tun,link-mtu 1543,tun-mtu 1500,proto TCPv4_SERVER,cipher BF-CBC,auth SHA1,keysize 128,key-method 2,tls-server'
    * Local Options hash (VER=V4): 'db02a8f8'
    * Expected Remote Options hash (VER=V4): '7e068940'
    * Attempting to establish TCP connection with [AF_INET]xxx.xxx.xxx.xxx:1194 [nonblock]
    * MANAGEMENT: >STATE:1471505278,TCP_CONNECT,,,
    * TCP connection established with [AF_INET]xxx.xxx.xxx.xxx:1194
    * TCPv4_CLIENT link local: [undef]
    * TCPv4_CLIENT link remote: [AF_INET]xxx.xxx.xxx.xxx:1194
    * MANAGEMENT: >STATE:1471505279,WAIT,,,
    * MANAGEMENT: >STATE:1471505279,AUTH,,,
    * TLS: Initial packet from [AF_INET]xxx.xxx.xxx.xxx:1194, sid=0661f363 2fc75f21
    * WARNING: this configuration may cache passwords in memory -- use the auth-nocache option to prevent this
    * OpenSSL: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
    * TLS_ERROR: BIO read tls_read_plaintext error
    * TLS Error: TLS object -> incoming plaintext read error
    * TLS Error: TLS handshake failed
    * Fatal TLS error (check_tls_errors_co), restarting
    * TCP/UDP: Closing socket
    * SIGUSR1[soft,tls-error] received, process restarting
    * MANAGEMENT: >STATE:1471505279,RECONNECTING,tls-error,,
    * Restart pause, 5 second(s)
    * Re-using SSL/TLS context
    * Control Channel MTU parms [ L:1543 D:1210 EF:40 EB:0 ET:0 EL:3 ]
    * Socket Buffers: R=[65536->65536] S=[65536->65536]
    * MANAGEMENT: >STATE:1471505284,RESOLVE,,,
    * Data Channel MTU parms [ L:1543 D:1450 EF:43 EB:12 ET:0 EL:3 ]
    * Local Options String: 'V4,dev-type tun,link-mtu 1543,tun-mtu 1500,proto TCPv4_CLIENT,cipher BF-CBC,auth SHA1,keysize 128,key-method 2,tls-client'
    * Expected Remote Options String: 'V4,dev-type tun,link-mtu 1543,tun-mtu 1500,proto TCPv4_SERVER,cipher BF-CBC,auth SHA1,keysize 128,key-method 2,tls-server'
    * Local Options hash (VER=V4): 'db02a8f8'
    * Expected Remote Options hash (VER=V4): '7e068940'
    * Attempting to establish TCP connection with [AF_INET]xxx.xxx.xxx.xxx:1194 [nonblock]
    * MANAGEMENT: >STATE:1471505284,TCP_CONNECT,,,
    * TCP connection established with [AF_INET]xxx.xxx.xxx.xxx:1194
    * TCPv4_CLIENT link local: [undef]
    * TCPv4_CLIENT link remote: [AF_INET]xxx.xxx.xxx.xxx:1194
    * MANAGEMENT: >STATE:1471505285,WAIT,,,
    * MANAGEMENT: >STATE:1471505285,AUTH,,,
    * TLS: Initial packet from [AF_INET]xxx.xxx.xxx.xxx:1194, sid=0847f2a5 e2a1d851
    * OpenSSL: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
    * TLS_ERROR: BIO read tls_read_plaintext error
    * TLS Error: TLS object -> incoming plaintext read error
    * TLS Error: TLS handshake failed
    * Fatal TLS error (check_tls_errors_co), restarting
    * TCP/UDP: Closing socket
    * SIGUSR1[soft,tls-error] received, process restarting
    * MANAGEMENT: >STATE:1471505285,RECONNECTING,tls-error,,
    * Restart pause, 5 second(s)
    * SIGTERM[hard,init_instance] received, process exiting
    * MANAGEMENT: >STATE:1471505286,EXITING,init_instance,,

    Code: Select all

    * ovpn,info          TCP connection established from xxx.xxx.xxx.xxx 
    * ovpn,debug,error   duplicate packet, dropping 
    * ovpn,debug         <xxx.xxx.xxx.xxx>: disconnected <TLS failed> 
    * ovpn,info          TCP connection established from xxx.xxx.xxx.xxx 
    * ovpn,debug,error   duplicate packet, dropping 
    * ovpn,debug         <xxx.xxx.xxx.xxx>: disconnected <TLS failed> 
    * ovpn,info          TCP connection established from xxx.xxx.xxx.xxx 
    * ovpn,debug,error   duplicate packet, dropping 
    * ovpn,debug         <xxx.xxx.xxx.xxx>: disconnected <TLS failed> 

    Anyone know what was changed between 2.3.10 and 2.3.11 that could be causing this problem?

    Понравилась статья? Поделить с друзьями:

    Читайте также:

  • Openshift error 143
  • Openvpn soft tls error received process restarting
  • Openshift 139 error
  • Openvpn setup ended prematurely because of an error
  • Openshift 137 error

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии