ervu-sign-module/docs/Инструкция по обновлению сертификатов.md

9.9 KiB
Raw Blame History

Обновление сертификата для подписи

Установка ключевой пары ИС, зарегистрированной в ЕСИА

  1. Запросить у руководителя проекта реестра повесток контейнер с новым ключом ИС, зарегистрированной в ЕСИА.

  2. Установить полученную ключевую пару для пользователя, от которого запускается модуль подписания (команды выполняются от имени ervu).
    Внимание! В следующих командах необходимо заменить key_cont.000 на название контейнера, полученного на предыдущем шаге.

mkdir /var/opt/cprocsp/keys/ervu/
cp -r key_cont.000/ /var/opt/cprocsp/keys/ervu/
chmod 700 /var/opt/cprocsp/keys/ervu/key_cont.000
chmod 600 /var/opt/cprocsp/keys/ervu/key_cont.000/*
chown -R ervu:ervu /var/opt/cprocsp/keys/ervu/key_cont.000/
/opt/cprocsp/bin/amd64/csptest -absorb -certs -autoprov
  1. Получить перечень сертификатов:
/opt/cprocsp/bin/amd64/certmgr -list

Для нового сертификата получить следующие значения:

  • Поле "SHA1 отпечаток": это значение нужно будет указать в конфигурационном файле модуля подписания в качестве настройки <sign_cert_thumbprint>
  • Поле "Ссылка на ключ": убедиться, что значение равно "Есть" (иначе необходимо проверить выполнение предыдущих шагов)
  • Поля "URL сертификата УЦ": по ссылкам, указанным в этом значении, скачать сертификаты УЦ и установить их (описано далее)
  • Поля "URL списка отзыва": в случае отсутствия доступа к УЦ, по ссылкам, указанным в этом значении, скачать CRL и установить их (описано далее)
  1. Установить сертификаты УЦ (поля "URL сертификата УЦ" в свойствах сертификата). Для каждого сертификата выполнить команду от имени root:
/opt/cprocsp/bin/amd64/certmgr -install -store mRoot -file <sign_ca_cert>.cer
  1. В случае отсутствия доступа к УЦ, установить CRL (поле "URL списка отзыва" в свойствах сертификата). Для каждого CRL выполнить команду от имени ervu:
/opt/cprocsp/bin/amd64/certmgr -install -store uCA -crl -file <sign_ca_crl>.crl
  1. Проверить цепочку сертификатов (команда выполняется от имени ervu):
/opt/cprocsp/bin/amd64/certmgr -list -thumbprint <sign_cert_thumbprint> -chain

Результатом команды должна быть строка "Цепочка сертификатов: Успешно проверена."

Подробнее о проверке цепочки сертификатов здесь: https://www.altlinux.org/%D0%9A%D1%80%D0%B8%D0%BF%D1%82%D0%BE%D0%9F%D1%80%D0%BE#%D0%9F%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%BA%D0%B0_%D1%86%D0%B5%D0%BF%D0%BE%D1%87%D0%BA%D0%B8_%D1%81%D0%B5%D1%80%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%82%D0%BE%D0%B2

  1. (опционально) Сделать тестовую подпись с помощью установленного контейнера и полученных значений <sign_cert_thumbprint> и <sign_cert_password>:
touch test.txt
/opt/cprocsp/bin/amd64/cryptcp -signf -thumbprint <sign_cert_thumbprint> -pin <sign_cert_password> -errchain ./test.txt
rm -f test.txt test.txt.sgn

Настройка ervu-sign-module.

  1. В конфигурационном файле /etc/ervu-sign-module.conf в секции [sign] прописать новые значения:
[sign]
sign_cert_thumbprint = sha1_thumbprint_of_signer_cert # SHA1 отпечаток сертификата, которым ИС подписывает секрет
sign_cert_password = **** # пароль от контейнера
  1. Перезапустить службу:
systemctl restart ervu-sign-module
  1. (опционально) Удалить старый сертификат для подписи

    3.1. Удалить старый сертификат из хранилища:

    /opt/cprocsp/bin/amd64/certmgr -delete -thumbprint <old_sign_cert_thumbprint>
    

    где <old_sign_cert_thumbprint> - SHA1 отпечаток старого сертификата

    3.2. Удалить директорию со старым контейнером:

    rm -rf /var/opt/cprocsp/keys/ervu/<key_cont.000>
    

    где <key_cont.000> - название директории со старым контейнером

Обновление сертификата ЕСИА для проверки ЭП маркера доступа

Установка сертификата ЕСИА.

  1. Скачать сертификаты тестовой и продуктивной сред ЕСИА, используемые для формирования электронных подписей ответов как поставщика, по ссылке: https://esia.gosuslugi.ru/public/esia.zip

  2. Из списка сертификатов выбрать тот, который подходит под конфигурацию стенда (в зависимости от алгоритма подписи и от того, является ли среда тестовой или продуктивной).

  3. Установить выбранный сертификат для пользователя, выполнив команду от имени ervu:

/opt/cprocsp/bin/amd64/certmgr -install -file '<esia_cert>.cer'

где <esia_cert>.cer - название файла выбранного сертификата.

Результатом команды будет список полей сертификата. Из него необходимо получить следующие значения:

  • Поле "SHA1 отпечаток": это значение нужно будет указать в конфигурационном файле модуля подписания в качестве настройки <esia_cert_thumbprint>.
  • Поле "Алгоритм подписи": проверить, что значение совпадает с настройками ИС в ЕСИА.
  • Поле "Истекает": проверить, что срок действия сертификата не истёк.
  • Поля "URL сертификата УЦ": по ссылкам, указанным в этом значении, скачать сертификаты УЦ и установить их (описано далее)
  • Поля "URL списка отзыва": в случае отсутствия доступа к УЦ, по ссылкам, указанным в этом значении, скачать CRL и установить их (описано далее)
  1. Установить сертификаты УЦ (поля "URL сертификата УЦ" в свойствах сертификата). Для каждого сертификата выполнить команду от имени root:
/opt/cprocsp/bin/amd64/certmgr -install -store mRoot -file <esia_ca_cert>.cer
  1. В случае отсутствия доступа к УЦ, установить CRL (поле "URL списка отзыва" в свойствах сертификата). Для каждого CRL выполнить команду от имени ervu:
/opt/cprocsp/bin/amd64/certmgr -install -store uCA -crl -file <esia_ca_crl>.crl
  1. Проверить цепочку сертификатов (команда выполняется от имени ervu):
/opt/cprocsp/bin/amd64/certmgr -list -thumbprint <esia_cert_thumbprint> -chain

Результатом команды должна быть строка "Цепочка сертификатов: Успешно проверена."

Подробнее о проверке цепочки сертификатов здесь: https://www.altlinux.org/%D0%9A%D1%80%D0%B8%D0%BF%D1%82%D0%BE%D0%9F%D1%80%D0%BE#%D0%9F%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%BA%D0%B0_%D1%86%D0%B5%D0%BF%D0%BE%D1%87%D0%BA%D0%B8_%D1%81%D0%B5%D1%80%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%82%D0%BE%D0%B2

Настройка ervu-sign-module.

  1. В конфигурационном файле /etc/ervu-sign-module.conf в секции [verify] добавить новое значение:
[verify]
esia_cert_thumbprint = old_esia_cert_thumbprint,esia_cert_thumbprint # список SHA1 отпечатков сертификатов ЕСИА, указанных через запятую (без пробелов)

где <old_esia_cert_thumbprint> - SHA1 отпечаток старого сертификата ЕСИА.

Примечание. SHA1 отпечаток старого сертификата ЕСИА необходимо оставить в списке esia_cert_thumbprint до тех пор, пока срок его действия не истечет.

  1. Перезапустить службу:
systemctl restart ervu-sign-module
  1. (опционально) Удалить старый сертификат ЕСИА.
/opt/cprocsp/bin/amd64/certmgr -delete -thumbprint <old_esia_cert_thumbprint>

где <old_esia_cert_thumbprint> - SHA1 отпечаток старого сертификата ЕСИА.