|
В статье описано применение ПО КриптоПро CSP для проверки отсоединенной электронной подписи файлов, т.е. электронной подписи, сохраненной в отдельном файле (далее - подпись). Данная процедура применима для проверки подписи ISO-образов установочных дисков и оперативных обновлений Astra Linux Special Edition. Предполагается, что ПО КриптоПро уже установлено на компьютере. Подробно порядок установки и работы с КриптоПро CSP описан в статьях Работа с КриптоПро CSP и КриптоПро и сервис электронной подписи fly-csp.
При проверке подписи может выдаваться предупреждение "Один из сертификатов в цепочке просрочен". Это предупреждение не является критичным и, в случае успешного завершения проверки, говорит о том, что сертификат просрочен на момент выполнения проверки (для достоверности подписи сертификат не должен быть просрочен на момент подписания файла). |
Для загрузки файлов с использованием протокола HTTPS требуются пакеты apt-transport-https и пcertificates. В Astra Linux Special Edition РУСБ.10015-01 очередное обновление 1.6 эти пакеты могут быть не установлены по умолчанию, при подключенных репозиториях установить их можно командой:
|
Пример файла, подписанного ключами УЦ МО РФ:
Для примера используется ISO-образ и подпись оперативного обновления Astra Linux Special Edition РУСБ.10015-01 очередное обновление 1..6 БЮЛЛЕТЕНЬ № 20211126SE16 (оперативное обновление 10). При наличии доступа в Интернет загрузить ISO-образ и подпись можно из Интернет-репозитория командами: |
После выполнения указанных команд ISO-образ и подпись будут сохранены в текущем каталоге в файлах с расширением .iso и расширением .iso.sig соответственно. Ссылки для загрузки других оперативных обновлений и их подписей доступны в соответствующих бюллетенях, см. Оперативные обновления для Astra Linux Special Edition.
| Для подписей, использующихся с 07.12.2021, отдельная установка сертификатов УЦ для проверки подписи не требуется. |
Для проверки подписи, сделанной с использованием сертификатов УЦ МО РФ (периоды с 01.08.2019 по 31.07.2020 и с 31.07.2020 по 07.12.2021) необходимо добавить в локальное хранилище сертификаты головного удостоверяющего центра, выдавшего сертификат, использованный для подписания, и список отозванных сертификатов (CRL). В случае проверки ISO-образов оперативных обновлений Astra Linux Special Edition эти данные доступны по ссылке: Корневые и отозванные сертификаты в разделе Архив сертификатов УЦ МО РФ, Архив квалифицированных сертификатов. Для установки этих сертификатов:
|
Проверка подписи выполняется командой /opt/cprocsp/bin/amd64/cryptcp -verify -detached, которую можно использовать в двух вариантах:
Использовать ключ -verall, указывающий, что надо найти всех подписавших, в том числе в сообщении:
CryptCP 5.0 (c) "КРИПТО-ПРО", 2002-2021. Будет использован следующий сертификат: Цепочки сертификатов проверены. |
Сообщение "[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 |
Явно указать в качестве хранилища сертификатов саму подпись (ключ -f <имя_файла_подписи>):
CryptCP 5.0 (c) "КРИПТО-ПРО", 2002-2021. |
Сообщение "[ErrorCode: 0x00000000]" (завершение с кодом 0) говорит о том, что проверка подписи завершена успешно.
Возможное предупреждение "Один из сертификатов в цепочке просрочен" не является критичным и, в случае успешного завершения проверки, говорит о том, что сертификат просрочен на момент выполнения проверки (для достоверности подписи сертификат не должен быть просрочен на момент подписания файла). В этой форме информация о найденных сертификатах и их состоянии выводится непосредственно в процессе проверки.
Для подписей, использовавшихся до 07.12.2021:
|