ervu-sign-module/docs/Инструкция по обновлению с версии 1.0.0 до 1.1.0.txt

116 lines
6.3 KiB
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

В версии 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. В конфигурационном файле получить значение <signer_subject>
3.2.2. Получить перечень свойств сертификата (команда выполняется от имени ervu):
```
/opt/cprocsp/bin/amd64/certmgr -list -dn <signer_subject>
```
Из полученного перечня свойств сертификата необходимо получить поле "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 '<esia_cert>.cer'
```
Результатом команды будет список полей сертификата. Из него необходимо получить следующие значения:
- Поле "SHA1 отпечаток": это значение нужно будет указать в конфигурационном файле в качестве настройки <esia_cert_thumbprint>.
- Поле "Алгоритм подписи": проверить, что значение совпадает с настройками ИС в ЕСИА.
- Поле "Истекает": проверить, что срок действия сертификата не истёк.
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. Проверить версию приложения:
```
/opt/cprocsp/bin/amd64/curl -v http://127.0.0.1/version
```
Статус-код ответа должен быть равен 200 OK.
В ответе должна быть возвращена строчка "1.1.0".