116 lines
6.3 KiB
Text
116 lines
6.3 KiB
Text
В версии 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. Проверить версию приложения:
|
||
```
|
||
curl -v http://127.0.0.1/version
|
||
```
|
||
|
||
Статус-код ответа должен быть равен 200 OK.
|
||
В ответе должна быть возвращена строчка "1.1.0".
|