SUPPORT-8709. Инструкция по обновлению сертификатов
This commit is contained in:
parent
5ac3357c80
commit
f0cba181ca
2 changed files with 155 additions and 3 deletions
152
docs/Инструкция по обновлению сертификатов.md
Normal file
152
docs/Инструкция по обновлению сертификатов.md
Normal file
|
|
@ -0,0 +1,152 @@
|
|||
## Обновление сертификата для подписи
|
||||
|
||||
### Установка ключевой пары ИС, зарегистрированной в ЕСИА
|
||||
|
||||
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
|
||||
```
|
||||
|
||||
3. Получить перечень сертификатов:
|
||||
```
|
||||
/opt/cprocsp/bin/amd64/certmgr -list
|
||||
```
|
||||
|
||||
Для нового сертификата получить следующие значения:
|
||||
- Поле "SHA1 отпечаток": это значение нужно будет указать в конфигурационном файле модуля подписания в качестве настройки <sign_cert_thumbprint>
|
||||
- Поле "Ссылка на ключ": убедиться, что значение равно "Есть" (иначе необходимо проверить выполнение предыдущих шагов)
|
||||
- Поля "URL сертификата УЦ": по ссылкам, указанным в этом значении, скачать сертификаты УЦ и установить их (описано далее)
|
||||
- Поля "URL списка отзыва": в случае отсутствия доступа к УЦ, по ссылкам, указанным в этом значении, скачать CRL и установить их (описано далее)
|
||||
|
||||
4. Установить сертификаты УЦ (поля "URL сертификата УЦ" в свойствах сертификата). Для каждого сертификата выполнить команду от имени **root**:
|
||||
``` bash
|
||||
/opt/cprocsp/bin/amd64/certmgr -install -store mRoot -file <sign_ca_cert>.cer
|
||||
```
|
||||
|
||||
5. В случае отсутствия доступа к УЦ, установить CRL (поле "URL списка отзыва" в свойствах сертификата). Для каждого CRL выполнить команду от имени **ervu**:
|
||||
``` bash
|
||||
/opt/cprocsp/bin/amd64/certmgr -install -store uCA -crl -file <sign_ca_crl>.crl
|
||||
```
|
||||
|
||||
6. Проверить цепочку сертификатов (команда выполняется от имени **ervu**):
|
||||
``` bash
|
||||
/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
|
||||
|
||||
7. (опционально) Сделать тестовую подпись с помощью установленного контейнера и полученных значений \<sign_cert_thumbprint\> и \<sign_cert_password\>:
|
||||
``` bash
|
||||
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 = **** # пароль от контейнера
|
||||
```
|
||||
|
||||
2. Перезапустить службу:
|
||||
```
|
||||
systemctl restart ervu-sign-module
|
||||
```
|
||||
|
||||
3. (опционально) Удалить старый сертификат для подписи
|
||||
|
||||
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 и установить их (описано далее)
|
||||
|
||||
4. Установить сертификаты УЦ (поля "URL сертификата УЦ" в свойствах сертификата). Для каждого сертификата выполнить команду от имени **root**:
|
||||
|
||||
``` bash
|
||||
/opt/cprocsp/bin/amd64/certmgr -install -store mRoot -file <sign_ca_cert>.cer
|
||||
```
|
||||
|
||||
5. В случае отсутствия доступа к УЦ, установить CRL (поле "URL списка отзыва" в свойствах сертификата). Для каждого CRL выполнить команду от имени **ervu**:
|
||||
|
||||
``` bash
|
||||
/opt/cprocsp/bin/amd64/certmgr -install -store uCA -crl -file <sign_ca_crl>.crl
|
||||
```
|
||||
|
||||
6. Проверить цепочку сертификатов (команда выполняется от имени **ervu**):
|
||||
|
||||
``` bash
|
||||
/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 до тех пор, пока срок его действия не истечет.
|
||||
|
||||
2. Перезапустить службу:
|
||||
|
||||
```
|
||||
systemctl restart ervu-sign-module
|
||||
```
|
||||
|
||||
3. (опционально) Удалить старый сертификат ЕСИА.
|
||||
|
||||
```
|
||||
/opt/cprocsp/bin/amd64/certmgr -delete -thumbprint <old_esia_cert_thumbprint>
|
||||
```
|
||||
где <old_esia_cert_thumbprint> - SHA1 отпечаток старого сертификата ЕСИА.
|
||||
|
|
@ -59,7 +59,7 @@ chown -R ervu:ervu /var/opt/cprocsp/keys/ervu/key_cont.000/
|
|||
- Поле "SHA1 отпечаток": это значение нужно будет указать в конфигурационном файле модуля подписания в качестве настройки \<sign_cert_thumbprint\>
|
||||
- Поле "Ссылка на ключ": убедиться, что значение равно "Есть" (иначе необходимо проверить выполнение предыдущих шагов)
|
||||
- Поля "URL сертификата УЦ": по ссылкам, указанным в этом значении, скачать сертификаты УЦ и установить их (описано далее)
|
||||
- Поля "URL списка отзыва": по ссылкам, указанным в этом значении, скачать CRL и установить их (описано далее)
|
||||
- Поля "URL списка отзыва": в случае отсутствия доступа к УЦ, по ссылкам, указанным в этом значении, скачать CRL и установить их (описано далее)
|
||||
|
||||
4. Установить сертификаты УЦ (поля "URL сертификата УЦ" в свойствах сертификата). Для каждого сертификата выполнить команду от имени **root**:
|
||||
``` bash
|
||||
|
|
@ -83,7 +83,7 @@ chown -R ervu:ervu /var/opt/cprocsp/keys/ervu/key_cont.000/
|
|||
7. (опционально) Сделать тестовую подпись с помощью установленного контейнера и полученных значений \<sign_cert_thumbprint\> и \<sign_cert_password\>:
|
||||
``` bash
|
||||
touch test.txt
|
||||
/opt/cprocsp/bin/amd64/cryptcp -signf -thumbprint <sign_cert_thumbprint> -errchain ./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
|
||||
```
|
||||
|
||||
|
|
@ -113,7 +113,7 @@ rm -f test.txt test.txt.sgn
|
|||
- Поле "Алгоритм подписи": проверить, что значение совпадает с настройками ИС в ЕСИА.
|
||||
- Поле "Истекает": проверить, что срок действия сертификата не истёк.
|
||||
- Поля "URL сертификата УЦ": по ссылкам, указанным в этом значении, скачать сертификаты УЦ и установить их (описано далее)
|
||||
- Поля "URL списка отзыва": по ссылкам, указанным в этом значении, скачать CRL и установить их (описано далее)
|
||||
- Поля "URL списка отзыва": в случае отсутствия доступа к УЦ, по ссылкам, указанным в этом значении, скачать CRL и установить их (описано далее)
|
||||
|
||||
4. Установить сертификаты УЦ (поля "URL сертификата УЦ" в свойствах сертификата). Для каждого сертификата выполнить команду от имени **root**:
|
||||
``` bash
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue