/
Let's Encrypt и конец срока действия IdenTrust DST Root CA X3

Let's Encrypt и конец срока действия IdenTrust DST Root CA X3

Тип статьи

Решение проблемы

Компетенции

Всем работающим в платформе

Необходимые права

SSH доступ c root

Версия платформы

2.18 и выше (указано дополнительно)

Статус

status:БЕТА

Сложность

легко

Полезные ссылки

https://habr.com/ru/post/580092/

Дополнительные сведения

Ubuntu 18.04

Описание проблемы

30 сентября 2021 года истек срок действия корневого сертификата IdenTrust DST Root CA X3. Это застрагивает все стенды с платформой, работающие на HTTPS с сертификатом от Let’s Encrypt. Могут перестать работать компоненты admin, smart-forms, viqube-admin, ssbi.

В версии 2.18 (вероятно в 2.19 и в 2.20 аналогично) перестают работать все перечисленные компоненты. В последней на момент написания статьи версии 2.23 (вероятно и в 2.21, и в 2.22) только smart-forms. Более ранние версии в статье не рассматриваются. Предположительно с 2.24 проблем не должно быть вовсе - реквест на исправление создан, его ссылка ниже.

Соответствующие разделы в веб администрировании могут быть недоступны. В логах компонентов будут ошибки, связанные с сертификатом. Пример ошибки для smart-forms:

The antiforgery token could not be decrypted. ---> System.Security.Cryptography.CryptographicException: The key {ab7c1f32-c3f3-4342-b8c0-e80cf0e5df0e} was not found in the key ring

The antiforgery token could not be decrypted. ---> System.Security.Cryptography.CryptographicException: The key {ab7c1f32-c3f3-4342-b8c0-e80cf0e5df0e} was not found in the key ring

 

Описание решения

Решение 1 (рекомендуется).

Генерируем сертификат с явным указанием нового корневого центра и все сразу должно работать. Проверено на 2.21.1.

certbot certonly --standalone -d bi.visiology.com --force-renewal --preferred-chain "ISRG Root X1"

Решение 2 (Далеко не всегда помогает).

1. Заходим в каждый контейнер, компонент которого не работает. Например для smart-forms (имя контейнера заменить на свое):

docker exec -it visiology_smart-forms-db.1.jsiby28xjvo10vk4jzaqocu06 bash

2. Редактируем файл /etc/ca-certificates.conf. Нужно найти строчку: mozilla/DST_Root_CA_X3.crt и поставить перед ней восклицательный знак. Пример:

!mozilla/DST_Root_CA_X3.crt

3. Копируем файл на хост в папку /opt, пример:

docker cp visiology_smart-forms.1.mvo38iv2de97dc0dypfz2r3u1:/etc/ca-certificates.conf /opt/ca-certificates.conf

4. В YML файлы дистрибутива платформы добавляем записи для монтирования файла (иначе после перезапуска платформы все изменения внутри контейнера пропадут). Для smart-forms это будет smart-forms.yml (сделать записи для всех двух ее докер сервисов):

- /opt/ca-certificates.conf:/etc/ca-certificates.conf

5. Перезапускаем платформу.

В версии 2.23 компонент Data Collection был переименовал в Smart Forms. Также чуть ранее этот компонент был разбит на два Docker сервиса: data-collection-app и data-collection-db.

 

Related content