Меню

Decryption failed or bad record mac ошибка

I am trying to connect to secure link using CURL.

I have set the following two parameters in CURL of PHP page

curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, TRUE);

curl_setopt ($ch, CURLOPT_CAINFO, «/cacert.pem»);

But still I am getting the below error :SSL error.

After Adding the pem file now in NGINX Server i am getting the error as below in NGINX
SSL3_GET_RECORD:decryption failed or bad record mac

The Same PEM file works on the Windows WAMP Server but its not working in NGINX Server.

Please let me know if anything else i am missing.

asked Apr 23, 2014 at 10:45

Vijay's user avatar

VijayVijay

2785 silver badges19 bronze badges

Basically curl used to include a list of accepted CAS, but it will not accept longer bundles ANY CA certs. So by default it will reject all SSL certificates as unverifiable.

You’ll have to get your CA’s cert and point curl at it. More details here

answered Apr 23, 2014 at 10:55

Sri's user avatar

SriSri

6312 gold badges7 silver badges20 bronze badges

0

I think you are using self-signed certificate. You should add it to your CA bundle. So that, curl can trusted it.

Alternatively you can use

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);

answered Apr 23, 2014 at 10:59

Harikrishnan's user avatar

HarikrishnanHarikrishnan

9,4029 gold badges85 silver badges127 bronze badges

SSL3_GET_RECORD:decryption failed or bad record mac

  • The above error was fixed by forcing the SSL version to 3.

curl_setopt($ch, CURLOPT_SSLVERSION, 3);

  • To aviod breaks in the transfer

curl_setopt ($ch, CURLOPT_TIMEOUT,0);

The above changes worked for me.

answered Apr 25, 2014 at 11:43

Vijay's user avatar

VijayVijay

2785 silver badges19 bronze badges

I have my own server (where I’m running Apache/2.4.26), and today I realized that from (Brave and Google Chrome — different computers) I’m getting from my websites this error;

This site can’t provide a secure connection

mywebsite.com sent an invalid response.
ERR_SSL_PROTOCOL_ERROR

And the strange thing is that I’m getting this error every fifth click on my website.

From my conf file:

SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/mywebsite/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/mywebsite/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateChainFile /etc/letsencrypt/live/mywebsite/chain.pem
SSLCompression off

from options-ssl-apache.conf;

SSLProtocol             all -SSLv2 -SSLv3
SSLCipherSuite          EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
SSLHonorCipherOrder     on
SSLCompression          off

I have checked log file from website but nothing, also nothing here; /var/log/apache2/error.log

I’m trying to figure out what is causing this error, any ideas where can I find more info or even better, how to solve this problem?

EDIT:

If I try openssl s_client -connect mywebsite.com:443, it will return:

I’m using: OpenSSL 1.1.0f 25 May 2017

CONNECTED(00000003)

...

3073276480:error:1408F119:SSL routines:ssl3_get_record:decryption failed or bad record mac:../ssl/record/ssl3_record.c:469:

Also If I change SSLProtocol to SSLProtocol -ALL +TLSv1 +TLSv1.1 +TLSv1.2, it will return me the same error.

ANOTHER EDIT:

As someone suggested I changed options-ssl-apache.conf into:

SSLProtocol             all -SSLv2 -SSLv3
SSLCipherSuite           HIGH:MEDIUM:!aNULL:!MD5:!SSLv3:!SSLv2:!TLSv1
SSLHonorCipherOrder     on
SSLCompression          off

#SSLSessionTickets       off

I also tried to add SSLProtocol all -SSLv2 -SSLv3 into my virtualhost conf file, and in a same time I did change couple of things here; /etc/apache2/mods-available/ssl.conf

#SSLCipherSuite HIGH:!aNULL
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5:!SSLv3:!SSLv2:!TLSv1

SSLHonorCipherOrder on

#   The protocols to enable.
#   Available values: all, SSLv3, TLSv1, TLSv1.1, TLSv1.2
#   SSL v2  is no longer supported
SSLProtocol all -SSLv2 -SSLv3

EDIT:

After changing LogLevel into Info it returns:

[Sat Jul 08 13:34:53.374307 2017] [ssl:info] [pid 8710] [client] AH02008: SSL library error 1 in handshake (server mywebsite:443)
[Sat Jul 08 13:34:53.374717 2017] [ssl:info] [pid 8710] SSL Library Error: error:140940F4:SSL routines:ssl3_read_bytes:unexpected message
[Sat Jul 08 13:34:53.374750 2017] [ssl:info] [pid 8710] [client] AH01998: Connection closed to child 1 with abortive shutdown (server mywebsite:443)

Still searching for soultion…

Некоторые пользователи жалуются на возникновение ошибки ERR_SSL_BAD_RECORD_MAC_ALERT при попытке доступа к некоторым веб-адресам. Большинство из них сообщают, что эта ошибка возникает только при попытке подключиться к account.google.com – адресу, который отвечает за обработку входа в систему большинства служб Google. Но эта проблема не относится исключительно к Google Chrome, поскольку большинство из пользователей, обнаруживших проблему, утверждают, что одни и те же веб-адреса также недоступны и в других веб-браузерах.

В чем причина ошибки ERR_SSL_BAD_RECORD_MAC_ALERT?

ERR_SSL_BAD_RECORD_MAC_ALERT

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

  • Антивирусное программное обеспечение сторонних производителей проверяет трафик HTTPS. Большинство из антивирусных программ настроено для по умолчанию, некоторые из них проявляют чрезмерную защиту. Пользователи затронутые этой проблемой сообщают, что им удалось ее решить после отключения проверки HTTPS (сканирование SSL) в настройках AV сторонних производителей.
  • Версия Chrome сильно устарела. Эта конкретная проблема встречается на компьютерах с более старой версией Chrome. Однако известно, что это происходит только с версией Chrome 40 и старше.
  • Значение MTU маршрутизатора несовместимо с конфигурацией сети. Также есть подтверждения того, что ошибка возникает, если значение MTU маршрутизатора несовместимо с текущей конфигурацией сети.

Если в настоящее время вы пытаетесь решить эту конкретную проблему, то в нашей статье вы найдете проверенные шаги по устранению неполадок. Ниже есть несколько методов, которые использовали другие пользователи в аналогичной ситуации для решения этой проблемы.

Для достижения хороших результатов следуйте приведенным ниже способам, пока не найдете решения вашей проблемы, эффективное в конкретном сценарии.

Способ 1. Отключение проверки HTTPS (если это применимо) в настройках антивируса сторонних производителей

Согласно различным пользовательским отчетам, проблема может возникнуть в том случае, если у вас есть стороннее антивирусное программное обеспечение, настроенное для проверки трафика HTTPS с целью защиты от посторонних атак на защищенных каналах. Это не обязательно плохо, но сообщается, что многие из сторонних AV-пакетов, включая ESET, AVAST, BitDefender и McAfee, способствуют появлению ошибки ERR_SSL_BAD_RECORD_MAC_ALERT.

Большинству из пользователей, затронутых этой проблемой, удалось решить возникающую ошибку, отключив функцию проверки HTTPS в настройках AV. Вы можете решить эту проблему, запретив стороннему антивирусу выполнять любые проверки HTTPS (сканирование SSL). Нижеприведенные шаги, зависят от того, какой AV вы используете. В BitDefender вы можете отключить эту функцию, выбрав «Настройки»> «Основные»> «Дополнительно» и сняв флажок «Сканировать SSL».

Если вы не можете найти эти настройки (возможно, у вас нет функции отключения проверки HTTPS), то единственный способ убедиться в том, что ошибка возникает не из-за вашего AV, – это полностью удалить его.

Примечание: пользователи, столкнувшиеся с данной проблемой, сообщают, что ошибка ERR_SSL_BAD_RECORD_MAC_ALERT не возникает, когда Защитник Windows находится в активных параметрах безопасности.

Если этот метод не подходит для вашей конкретной ситуации или не помог решить данную проблему, то перейдите к следующему способу.

Способ 2: обновление браузера до последней версии

Некоторые из пользователей сообщают, что исправить эту проблему просто: достаточно обновить Chrome (или другой браузер, где возникает проблема) до последней версии. Но имейте в виду, что это решение может помочь только тем, кто столкнулся с проявлением данной ошибки в обозревателе очень ранней версии. К примеру, ошибку часто замечают на Chrome 20-40 версий.

Вот краткое руководство по устранению ошибки ERR_SSL_BAD_RECORD_MAC_ALERT в браузере Google Chrome:

  1. Откройте Google Chrome и нажмите кнопку действия в правом верхнем углу. Затем нажмите Справка> О Google Chrome.
  2. Примечание. Помните, что Google Chrome настроен на получение обновлений по умолчанию. Ручное вмешательство пользователя или некоторые расширения могут изменить этот параметр.
  3. Дождитесь завершения сканирования, затем нажмите «Обновить Chrome» и установите новую версию.
  4. Перезапустите браузер и посмотрите, была ли ваша проблема решена.

Практически точно также можно обновить браузеры и от других разработчиков. В общем, проблем у вас тут возникнуть не должно. Если оговариваемая ошибка все еще тревожит вас, то перейдите к следующему способу.

Способ 3: изменение MTU маршрутизатора на 1400

Многие пользователи, столкнувшиеся с ошибкой ERR_SSL_BAD_RECORD_MAC_ALERT, решили проблему изменением значения MTU маршрутизатора на 1400.

Шаги изменения MTU (Maximum Transmission Unit) будут отличаться в зависимости от производителя вашего маршрутизатора. Тем не менее было выявлено несколько общих шагов, которые укажут вам правильное направление решения проблемы:

  1. Запустите веб-браузер и введите адрес входа в свой маршрутизатор. Большинство маршрутизаторов используют IP-адреса по умолчанию: 192.168.0.1. или 192.168.1.1.
  2. Проверьте настройки маршрутизатора и настройки сети или WAN, которые позволят вам изменять размер MTU. На большинстве маршрутизаторов этот пункт можно найти в меню «Дополнительно» в разделе «Настройка WAN».
  3. Установите размер MTU равным 1400 и нажмите «Сохранить» (или «Применить»), чтобы сохранить выбранные изменения.
  4. Перезапустите ваш маршрутизатор и посмотрите, была ли решена проблема путем попытки доступа к тому же адресу, который ранее вызывал ошибку ERR_SSL_BAD_RECORD_MAC_ALERT.

I have my own server (where I’m running Apache/2.4.27), and today I realized that from (Brave and Google Chrome — different computers) I’m getting from my websites this error;

This site can’t provide a secure connection

mywebsite.com sent an invalid response.
ERR_SSL_PROTOCOL_ERROR

And the strange thing is that I’m getting this error every fifth click on my website.

From my conf file:

SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/mywebsite/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/mywebsite/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateChainFile /etc/letsencrypt/live/mywebsite/chain.pem
SSLCompression off

from options-ssl-apache.conf;

SSLProtocol             all -SSLv2 -SSLv3
SSLCipherSuite          EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
SSLHonorCipherOrder     on
SSLCompression          off

I have checked log file from website but nothing, also nothing here; /var/log/apache2/error.log

I’m trying to figure out what is causing this error, any ideas where can I find more info or even better, how to solve this problem?

EDIT:

If I try openssl s_client -connect mywebsite.com:443, it will return:

I’m using: OpenSSL 1.1.0f

CONNECTED(00000003)

...

3073276480:error:1408F119:SSL routines:ssl3_get_record:decryption failed or bad record mac:../ssl/record/ssl3_record.c:469:

ANOTHER EDIT:

As @quadruplebucky suggested I changed options-ssl-apache.conf into:

SSLProtocol             all -SSLv2 -SSLv3
SSLCipherSuite           HIGH:MEDIUM:!aNULL:!MD5:!SSLv3:!SSLv2:!TLSv1
SSLHonorCipherOrder     on
SSLCompression          off

#SSLSessionTickets       off

I also tried to add SSLProtocol all -SSLv2 -SSLv3 into my virtualhost conf file, and in a same time I did change couple of things here; /etc/apache2/mods-available/ssl.conf

#SSLCipherSuite HIGH:!aNULL
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5:!SSLv3:!SSLv2:!TLSv1

SSLHonorCipherOrder on

#   The protocols to enable.
#   Available values: all, SSLv3, TLSv1, TLSv1.1, TLSv1.2
#   SSL v2  is no longer supported
SSLProtocol all -SSLv2 -SSLv3

EDIT:

After changing LogLevel into Info it returns:

[Sat Jul 08 13:34:53.374307 2017] [ssl:info] [pid 8710] [client] AH02008: SSL library error 1 in handshake (server mywebsite:443)
[Sat Jul 08 13:34:53.374717 2017] [ssl:info] [pid 8710] SSL Library Error: error:140940F4:SSL routines:ssl3_read_bytes:unexpected message
[Sat Jul 08 13:34:53.374750 2017] [ssl:info] [pid 8710] [client] AH01998: Connection closed to child 1 with abortive shutdown (server mywebsite:443)

EDIT:

If I run with option -crlf, like this:

openssl s_client -crlf -connect mywebsite:443

I’m getting no error?

One more thing if I change LogLevel to debug, before that error I’m getting this:

[Tue Jul 11 23:00:38.641568 2017] [core:debug] [pid 26561] protocol.c(1273): [client 188.64.25.162:23165] AH00566: request failed: malformed request line
[Tue Jul 11 23:00:38.641634 2017] [headers:debug] [pid 26561] mod_headers.c(900): AH01503: headers: ap_headers_error_filter()

So after this that same error will happen:

SSL Library Error: error:140940F4:SSL routines:ssl3_read_bytes:unexpected message

openssl version
OpenSSL 1.1.0f  25 May 2017

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

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

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • Dead rising ошибка при запуске приложения 0xc0000142
  • Dead rising ошибка directx