17

ERR_SSL_PROTOCOL_ERROR после выбора сертификата: отключаю UTF-8 Beta

Приветствую, коллеги. На одном компьютере вход по сертификату заканчивался ошибкой ERR_SSL_PROTOCOL_ERROR. Сам сертификат выбирался, но сразу после этого браузер обрывал защищённое соединение.

Проблема

Не удаётся получить доступ к сайту. ERR_SSL_PROTOCOL_ERROR.

При проверке я заметил ещё один симптом: имя контейнера в КриптоПро отображалось с арабскими символами и другими иероглифами.

Причина

В Windows была включена экспериментальная настройка «Бета-версия: использовать Юникод UTF-8 для поддержки языка во всём мире». Старый криптографический компонент неправильно разбирал имя контейнера, из-за чего работа с сертификатом срывалась уже после его выбора.

Как я проверил

  1. Открыл КриптоПро CSP и посмотрел название контейнера.
  2. Убедился, что вместо нормального имени видны посторонние символы.
  3. Проверил системную локаль Windows для программ, не поддерживающих Юникод.

Решение

  1. Открыл «Панель управления» → «Региональные стандарты».
  2. Перешёл на вкладку «Дополнительно».
  3. Нажал «Изменить язык системы».
  4. Снял флажок «Бета-версия: использовать Юникод UTF-8 для поддержки языка во всём мире».
  5. Перезагрузил компьютер.
  6. Снова проверил имя контейнера и повторил вход.

После перезагрузки контейнер стал отображаться нормально, а ошибка протокола после выбора сертификата исчезла.

Важно: этот способ применяю только при совпадении двух признаков: включён флажок UTF-8 Beta и имя контейнера отображается иероглифами. У ERR_SSL_PROTOCOL_ERROR бывают и другие причины.

Результат

Браузер принимает выбранный сертификат и продолжает авторизацию. В моём случае переустанавливать КриптоПро и выпускать новый сертификат не потребовалось.