На старом рабочем месте с Континент TLS я столкнулся с редким сообщением про ASN1. Сам клиент закрывался ещё до подключения, поэтому сеть и адрес портала здесь были ни при чём.
Проблема
В ASN1 встречен неожиданный конец данных.
Такое сообщение у меня появлялось во время запуска Континент TLS 2.0. Оно отличается от ошибок проверки цепочки: клиент не успевал нормально открыть своё окно и показать состояние серверного сертификата.
Причина ошибки ASN1
В хранилище находился некорректный сертификат. Континент TLS перебирал сертификаты при запуске и не мог разобрать один из них. После удаления старых и повреждённых записей сообщение больше не появлялось.
Как я нашёл проблемный сертификат
Я открыл оснастку сертификатов и отдельно проверил хранилища текущего пользователя и локального компьютера:
- Доверенные корневые центры сертификации;
- Промежуточные центры сертификации.
Смотрел срок действия, наличие красного значка, ошибки на вкладке Путь сертификации и дубли с одинаковым назначением. Личные сертификаты и контейнеры закрытых ключей я не удалял.
Решение
- Перед удалением экспортировал сомнительные сертификаты в отдельную папку без закрытых ключей.
- Удалил только явно просроченные, повреждённые или ошибочно установленные дубли корневых и промежуточных сертификатов.
- Установил актуальную цепочку сертификатов из действующего комплекта Федерального казначейства.
- Закрыл оснастку и снова запустил Континент TLS.
Не стоит очищать хранилище целиком. На рабочем компьютере могут быть цепочки для других государственных систем, и массовое удаление создаст новые ошибки.
Как понять, что ошибка устранена
Континент TLS запустился без сообщения ASN1 и открыл список ресурсов. После этого я отдельно проверил серверный сертификат: его статус должен быть действительным, а цепочка — строиться без предупреждений.
Вывод у меня простой: ошибка ASN1 в этом случае была не сетевой, а файловой — клиент спотыкался о некорректную запись в хранилище сертификатов.
Получилось или остались вопросы?
Поделитесь результатом, дополните инструкцию своим опытом или задайте вопрос. Я читаю комментарии и обновляю статьи по реальным случаям.