n1ro°
RU

Ошибки · Решение

TLS alert 20 bad_record_mac: что означает и как исправить

TLS record не удалось корректно расшифровать и аутентифицировать.

Редакция N1RO · Проверено

Короткий ответ

TLS alert 20 bad_record_mac. TLS record не удалось корректно расшифровать и аутентифицировать. Сверьте код с официальной поддержкой производителя и выполните только безопасные шаги.

Что означает ошибка

TLS record не удалось корректно расшифровать и аутентифицировать.

Возможные причины

  • Запись была изменена или повреждена между отправителем и получателем.
  • Стороны используют разные ключи/nonce из-за рассинхронизации криптографического состояния.
  • Аппаратное TLS-offload или buggy middlebox искажает зашифрованные records.

Что проверить

  • Сопоставьте момент alert с потерями/повторной передачей пакетов и сетевыми ошибками.
  • Проверьте, исчезает ли ошибка без TLS offload, inspection или промежуточного устройства.
  • Сравните key-update/renegotiation события в логах обеих сторон.

Безопасные шаги

  1. Устраните устройство или драйвер, повреждающий TLS records.
  2. Обновите TLS-библиотеку при известной проблеме с key update или AEAD state.
  3. Не отключайте проверку целостности: после сетевого исправления подтвердите чистый handshake.

Только безопасные обратимые действия. Опасные шаги — только по официальной инструкции и с пониманием рисков.

Когда нужен сервис

  • При повторяемом bad_record_mac на чистом прямом канале нужны pcap и TLS debug logs с обеих сторон для разработчика TLS-стека.

Похожие ошибки

  • /errors/tls-alert-unexpected-message/
  • /errors/tls-alert-record-overflow/
  • /errors/tls-alert-handshake-failure/

Что учитывать

Точная причина зависит от версии ПО/прошивки, полного текста ошибки и контекста. Официальная инструкция имеет приоритет.

Официальный источник

Расшифровка сверена с официальными страницами поддержки из источников ниже. Редакция N1RO не диагностировала ваш конкретный случай.