Введение
В статье описано применение ПО КриптоПро CSP для проверки отсоединенной электронной подписи файлов, т.е. электронной подписи, сохраненной в отдельном файле (далее — подпись). Данная процедура применима для проверки подписи ISO-образов установочных дисков и оперативных обновлений Astra Linux Special Edition. Предполагается, что ПО КриптоПро уже установлено на компьютере. Подробно порядок установки и работы с КриптоПро CSP описан в статьях Работа с КриптоПро CSP и КриптоПро и сервис электронной подписи fly-csp.
При проверке подписи может выдаваться предупреждение «Один из сертификатов в цепочке просрочен». Это предупреждение не является критичным и, в случае успешного завершения проверки, говорит о том, что сертификат просрочен на момент выполнения проверки (для достоверности подписи сертификат не должен быть просрочен на момент подписания файла).
Загрузка файлов
Для загрузки файлов с использованием протокола HTTPS требуются пакеты apt-transport-https и пcertificates. В Astra Linux Special Edition РУСБ.10015-01 очередное обновление 1.6 эти пакеты могут быть не установлены по умолчанию, при подключенных репозиториях установить их можно командой:
- Пример файла, подписанного ключами УЦ ООО «Сертум-Про» (для подписей, использующихся с 07.12.2021). Для примера используется ISO-образ и подпись оперативного обновления Astra Linux Special Edition РУСБ.10015-01 очередное обновление 1..6 БЮЛЛЕТЕНЬ № 20220407SE16MD. При наличии доступа в Интернет загрузить ISO-образ и подпись можно из Интернет-репозитория командами::
Загрузка ISO-образа:
После выполнения указанных команд ISO-образ и подпись будут сохранены в текущем каталоге в файлах с расширением .iso и расширением .iso.sig соответственно. Ссылки для загрузки других оперативных обновлений и их подписей доступны в соответствующих бюллетенях, см. Оперативные обновления для Astra Linux Special Edition.
Установка сертификатов УЦ МО РФ
Для подписей, использующихся с 07.12.2021, отдельная установка сертификатов УЦ для проверки подписи не требуется.
Для проверки подписи, сделанной с использованием сертификатов УЦ МО РФ (период с 31.07.2020 по 07.12.2021) необходимо добавить в локальное хранилище сертификат головного удостоверяющего центра, выдавшего сертификат, использованный для подписания, и список отозванных сертификатов (CRL). В случае проверки ISO-образов оперативных обновлений Astra Linux Special Edition эти данные доступны по ссылке: https://zgt.mil.ru/Udostoveryayushchij-centr/Kornevye-i-otozvannye-sertifikaty, а загрузка и установка сертификата и CRL может быть выполнена командами:
- Для сертификатов, выданных УЦ МО РФ в период с 31.07.2020 г. по 07.12.2021:
- Загрузка и установка сертификата удостоверяющего центра ГУЦ в хранилище mRoot:
Оба комплекта из сертификата и CRL могут быть установлены одновременно.
Проверка подписи
Проверка подписи выполняется командой /opt/cprocsp/bin/amd64/cryptcp -verify -detached, которую можно использовать в двух вариантах:
- Использовать ключ -verall, указывающий, что надо найти всех подписавших, в том числе в сообщении:
/opt/cprocsp/bin/amd64/cryptcp -verify -detached 20220407SE16MD.tar.gz 20220407SE16MD.tar.gz.sig -f 20220407SE16MD.tar.gz.sig
CryptCP 5.0 (c) «КРИПТО-ПРО», 2002-2021.
Утилита командной строки для подписи и шифрования файлов. Будет использован следующий сертификат:
Субъект:»ООО «»РУСБИТЕХ-АСТРА»»», Ковшов, Олег Юрьевич, RU, 77 г. Москва, Москва, «Ш ВАРШАВСКОЕ, ДОМ 26, СТР 11», «ООО «»РУСБИТЕХ-АСТРА»»», Руководитель отдела, 5167746207459, 13849770106, 772879051017, okovshov@astralinux.ru, 7726388700-772601001-013849770106, 7726388700
Действителен с 07.12.2021 06:54:24 по 07.12.2022 06:57:56 Цепочки сертификатов проверены.
Папка ‘./’:
20220407SE16MD.tar.gz. Проверка подписи.
Автор подписи: «ООО «»РУСБИТЕХ-АСТРА»»», Ковшов, Олег Юрьевич, RU, 77 г. Москва, Москва, «Ш ВАРШАВСКОЕ, ДОМ 26, СТР 11», «ООО «»РУСБИТЕХ-АСТРА»»», Руководитель отдела, 5167746207459, 13849770106, 772879051017, okovshov@astralinux.ru, 7726388700-772601001-013849770106, 7726388700
Подпись проверена.
[ErrorCode: 0x00000000]
Сообщение «[ErrorCode: 0x00000000]» (завершение с кодом 0) говорит о том, что проверка подписи завершена успешно. Возможное предупреждение «Один из сертификатов в цепочке просрочен» не является критичным и, в случае успешного завершения проверки, говорит о том, что сертификат просрочен на момент выполнения проверки (для достоверности подписи сертификат не должен быть просрочен на момент подписания файла). Для поиска просроченного сертификата можно использовать команду проверки в режиме вывода отладочной информации (CP_PRINT_CHAIN_DETAIL=1):
CP_PRINT_CHAIN_DETAIL=1 /opt/cprocsp/bin/amd64/cryptcp -verify -verall -detached 20220407SE16MD.tar.gz 20220407SE16MD.tar.gz.sig
/opt/cprocsp/bin/amd64/cryptcp -verify -detached 20220407SE16MD.tar.gz 20220407SE16MD.tar.gz.sig -verall
CryptCP 5.0 (c) «КРИПТО-ПРО», 2002-2021.
Утилита командной строки для подписи и шифрования файлов.
Папка ‘./’:
20220407SE16MD.tar.gz. Проверка подписи.
Автор подписи: «ООО «»РУСБИТЕХ-АСТРА»»», Ковшов, Олег Юрьевич, RU, 77 г. Москва, Москва, «Ш ВАРШАВСКОЕ, ДОМ 26, СТР 11», «ООО «»РУСБИТЕХ-АСТРА»»», Руководитель отдела, 5167746207459, 13849770106, 772879051017, okovshov@astralinux.ru, 7726388700-772601001-013849770106, 7726388700
Подпись проверена.
[ErrorCode: 0x00000000]
Для подписей, использовавшихся до 07.12.2021:
/opt/cprocsp/bin/amd64/cryptcp -verify -detached 20211126SE16.iso 20211126SE16.iso.sig -verall
CryptCP 5.0 (c) «КРИПТО-ПРО», 2002-2021.
Утилита командной строки для подписи и шифрования файлов.
Папка ‘./’:
20211126SE16.iso. Проверка подписи.
Автор подписи: «ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ «»РУСБИТЕХ-АСТРА»»», Сивцев, Илья Игоревич, «ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ «»РУСБИТЕХ-АСТРА»»», Генеральный директор, Москва, 77 г. Москва, RU, «Варшавское шоссе, дом 26, строение 11», 5167746207459, 007726388700, 13527156247
Один из сертификатов в цепочке просрочен.
Вы хотите использовать этот сертификат (Да[Y], Нет[N], Отмена[C])?y Подпись проверена.
[ErrorCode: 0x00000000]
В процессе проверки будет запрошено подтверждение, для завершения проверки нажать «y» и Enter.
Сообщение «[ErrorCode: 0x00000000]» (завершение с кодом 0) говорит о том, что проверка подписи завершена успешно.
При этом предупреждение «Один из сертификатов в цепочке просрочен» не является критичным и, в случае успешного завершения проверки, говорит о том, что сертификат просрочен на момент выполнения проверки (для достоверности подписи сертификат не должен быть просрочен на момент подписания файла). Для поиска просроченного сертификата можно использовать команду проверки в режиме вывода отладочной информации (CP_PRINT_CHAIN_DETAIL=1):
CP_PRINT_CHAIN_DETAIL=1 /opt/cprocsp/bin/amd64/cryptcp -verify -verall -detached 20211126SE16.iso 20211126SE16.iso.sig
/opt/cprocsp/bin/amd64/cryptcp -verify -detached 20211126SE16.iso 20211126SE16.iso.sig -f 20211126SE16.iso.sig
CryptCP 5.0 (c) «КРИПТО-ПРО», 2002-2021.
Утилита командной строки для подписи и шифрования файлов. Будет использован следующий сертификат:
Субъект:»ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ «»РУСБИТЕХ-АСТРА»»», Сивцев, Илья Игоревич, «ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ «»РУСБИТЕХ-АСТРА»»», Генеральный директор, Москва, 77 г. Москва, RU, «Варшавское шоссе, дом 26, строение 11», 5167746207459, 007726388700, 13527156247
Действителен с 11.02.2021 07:33:28 по 30.12.2021 22:00:00 Цепочка сертификатов не проверена для следующего сертификата:
Субъект:»ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ «»РУСБИТЕХ-АСТРА»»», Сивцев, Илья Игоревич, «ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ «»РУСБИТЕХ-АСТРА»»», Генеральный директор, Москва, 77 г. Москва, RU, «Варшавское шоссе, дом 26, строение 11», 5167746207459, 007726388700, 13527156247
Действителен с 11.02.2021 07:33:28 по 30.12.2021 22:00:00 Один из сертификатов в цепочке просрочен.
Вы хотите использовать этот сертификат (Да[Y], Нет[N], Отмена[C])?y Цепочки сертификатов проверены.
Папка ‘./’:
20211126SE16.iso. Проверка подписи.
Автор подписи: «ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ «»РУСБИТЕХ-АСТРА»»», Сивцев, Илья Игоревич, «ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ «»РУСБИТЕХ-АСТРА»»», Генеральный директор, Москва, 77 г. Москва, RU, «Варшавское шоссе, дом 26, строение 11», 5167746207459, 007726388700, 13527156247
Один из сертификатов в цепочке просрочен.
Вы хотите использовать этот сертификат (Да[Y], Нет[N], Отмена[C])?y Подпись проверена.
[ErrorCode: 0x00000000]
1С и Linux
Пишу для себя, чтобы не забыть как делал. 95 % рабочее. На комментарии отвечаю, когда увижу.
пятница, 14 декабря 2018 г.
Установка сертификатов используя КриптоПРО в Linux
Для установки в uRoot админиских прав больше не нужно. Ради этого их с mRoot и разделили. Работает так: если ставить в uRoot — видно будет только текущему пользователю, даже если он root, но права не нужны и будет диалог с предупреждением. Если ставить в mRoot, то нужны права, видно будет всем и предупреждения не будет.
Установка корневого сертификата удостоверяющего центра:
$ /opt/cprocsp/bin/amd64/certmgr -inst -cert -file ~/Загрузки/.cer -store uRoot
$ /opt/cprocsp/bin/amd64/certmgr -inst -cert -file ~/Загрузки/guts_2012.cer -store uRoot
Просмотор корневых сертификатов:
$ /opt/cprocsp/bin/amd64/certmgr -list -store uRoot
Удалить:
$ /opt/cprocsp/bin/amd64/certmgr -delete -store uRoot
$ /opt/cprocsp/bin/amd64/certmgr -delete -all -store uRoot
Установка списка отозванных сертификатов:
$ /opt/cprocsp/bin/amd64/certmgr -inst -crl -file ~/Загрузки/.crl
Установка цепочки промежуточных сертификатов:
$ /opt/cprocsp/bin/amd64/certmgr -inst -cert -file ~/Загрузки/.p7b -store uca
$ /opt/cprocsp/bin/amd64/certmgr -inst -cert -file ~/Загрузки/fk_2012.cer -store uca
Просмотор промежуточных сертификатов:
$ /opt/cprocsp/bin/amd64/certmgr -list -store uca
Удалить:
$ /opt/cprocsp/bin/amd64/certmgr -delete -store uca
Установка сертификата с рутокена:
$ /opt/cprocsp/bin/amd64/certmgr -inst -cont » -store uMy
Установка сертификата из контейнера:
$ /opt/cprocsp/bin/amd64/certmgr -inst -store uMy -cont ‘\\.\HDIMAGE\test’
Просмотор личных сертификатов:
$ /opt/cprocsp/bin/amd64/certmgr -list -store uMy
Просмотр контейнеров, рутокенов
$ /opt/cprocsp/bin/amd64/csptest -keyset -enum -verifycontext -fqcn