В версии 1.1.0 появились следующие функции: - Проверка подписи маркера доступа - Вывод номера версии приложения Для обновления приложения необходимо выполнить следующие шаги (команды выполняются от имени root): 0. Установить новые зависимости: ``` apt-get install libjson-glib ``` 1. Остановить службу: ``` systemctl stop ervu-sign-module ``` 2. Обновить приложение: ``` cp ./ervu-sign-module /opt/ervu-sign-module/ ``` 3. Обновить конфигурационный файл /etc/ervu-sign-module.conf. Для этого: 3.1. Перенести настройку cp_file из секции [sign] в секцию [main] 3.2. Задать SHA1 отпечаток сертификата, которым ИС подписывает секрет, для этого: 3.2.1. В конфигурационном файле получить значение 3.2.2. Получить перечень свойств сертификата (команда выполняется от имени ervu): ``` /opt/cprocsp/bin/amd64/certmgr -list -dn ``` Из полученного перечня свойств сертификата необходимо получить поле "SHA1 отпечаток". 3.2.3. В конфигурационном файле в секции [sign] задать полученное значение полю sign_cert_thumbprint: [sign] sign_cert_thumbprint = <значение поля "SHA1 отпечаток", полученное на предыдущем шаге> 3.2.4. Настройку signer_subject нужно удалить. 3.3. Переименовать настройку с паролем от контейнера (было - pin, стало - sign_cert_password) [sign] sign_cert_password = <пароль, который раньше задавался в поле pin> 4. Установить сертификат ЕСИА. Для этого: 4.1. Скачать сертификаты тестовой и продуктивной сред ЕСИА, используемые для формирования электронных подписей ответов как поставщика, по ссылке: https://esia.gosuslugi.ru/public/esia.zip 4.2. Из списка сертификатов выбрать тот, который подходит под конфигурацию стенда (в зависимости от алгоритма подписи и от того, является ли среда тестовой или продуктивной): | Среда \ Алгоритм подписания | RS256 | GOST3410_2012_256 | |-----------------------------|-----------------------------------------------------|-----------------------------------------------------| | | RSA_TESIA_2024.cer | TESIA GOST 2012 new.cer | | Тестовая | Отпечаток: 6a3813240f6cc285e6d4e6d9a4bfeb26038195d8 | Отпечаток: e654f6114dc19bae84c5748794a4fd7797726e71 | | | Срок действия: по 06.08.2034 | Срок действия: по 24.04.2025 | |-----------------------------|-----------------------------------------------------|-----------------------------------------------------| | | RSA_PROD_2024.cer | ГОСТ+ПРОД+24-25.cer | | Продуктивная | Отпечаток: 29c2f9c8e064d73509eadd685a5508712735e303 | Отпечаток: 20ad21785b9161ef46f075d4dc23c34e1e349228 | | | Срок действия: по 12.05.2025 | Срок действия: по 08.06.2025 | ------------------------------------------------------------------------------------------------------------------------------------------- 4.3. Установить выбранный сертификат (команда выполняется от имени ervu): ``` /opt/cprocsp/bin/amd64/certmgr -install -file '.cer' ``` Результатом команды будет список полей сертификата. Из него необходимо получить следующие значения: - Поле "SHA1 отпечаток": это значение нужно будет указать в конфигурационном файле в качестве настройки . - Поле "Алгоритм подписи": проверить, что значение совпадает с настройками ИС в ЕСИА. - Поле "Истекает": проверить, что срок действия сертификата не истёк. 4.4. В конфигурационном файле добавить секцию [verify]: [verify] #location = /verify esia_cert_thumbprint = 4.5. Прописать SHA1 отпечаток сертификата ЕСИА: [verify] esia_cert_thumbprint = <значение, полученное на шаге 4.3.> Примечание. Пример конфигурационного файла можно посмотреть в conf/ervu-sign-module.conf.example 5. Запустить службу: ``` systemctl start ervu-sign-module ``` 6. Обновить конфигурационный файл /etc/nginx/nginx.conf: заменить строку: ``` location = /sign { ``` на: ``` location / { ``` Примечание. Пример конфигурационного файла можно посмотреть в conf/nginx.conf 7. Перезапустить nginx: ``` systemctl reload nginx ``` 8. Проверить версию приложения: ``` curl -v http://127.0.0.1/version ``` Статус-код ответа должен быть равен 200 OK. В ответе должна быть возвращена строчка "1.1.0".