Инструкция по проверке подписи ядра

Данная инструкция актуальна для проверки отсоединенных электронных подписей, опубликованных начиная с мая 2025 года. Для проверки более старых версий воспользуйтесь инструкцией по ссылке.

Проверка подписи при помощи КриптоПро

Для проверки отсоединенной электронной подписи архива с исходным кодом без проверки цепочки сертификатов необходимо выполнить следующую входящую в пакет КриптоПро CSP команду со скаченными с портала Центра файлами, содержащими архив с исходным кодом и его подпись:

user@astra:~$ /opt/cprocsp/bin/amd64/cryptcp -nochain -vsignf -fext .sig linux-stable-5.10.236-lvc51.tar.xz -f linux-stable-5.10.236-lvc51.tar.xz.sig
CryptCP 5.0 (c) "КРИПТО-ПРО", 2002-2022.
Утилита командной строки для подписи и шифрования файлов.

Будет использован следующий сертификат:
Субъект:ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ УЧРЕЖДЕНИЕ НАУКИ ИНСТИТУТ СИСТЕМНОГО ПРОГРАММИРОВАНИЯ ИМ. В.П. ИВАННИКОВА РОССИЙСКОЙ АКАДЕМИИ НАУК, khoroshilov@ispras.ru, 7709006125, 1037700067327, ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ УЧРЕЖДЕНИЕ НАУКИ ИНСТИТУТ СИСТЕМНОГО ПРОГРАММИРОВАНИЯ ИМ. В.П. ИВАННИКОВА РОССИЙСКОЙ АКАДЕМИИ НАУК, г. Москва, "ул. Александра Солженицына, д.25", г. Москва, RU
Действителен с 06.05.2025 08:06:27 по 30.07.2026 08:06:27

Папка './':
linux-stable-5.10.236-lvc51.tar.xz... Проверка подписи...
Автор подписи: ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ УЧРЕЖДЕНИЕ НАУКИ ИНСТИТУТ СИСТЕМНОГО ПРОГРАММИРОВАНИЯ ИМ. В.П. ИВАННИКОВА РОССИЙСКОЙ АКАДЕМИИ НАУК, khoroshilov@ispras.ru, 7709006125, 1037700067327, ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ УЧРЕЖДЕНИЕ НАУКИ ИНСТИТУТ СИСТЕМНОГО ПРОГРАММИРОВАНИЯ ИМ. В.П. ИВАННИКОВА РОССИЙСКОЙ АКАДЕМИИ НАУК, г. Москва, "ул. Александра Солженицына, д.25", г. Москва, RU
 Подпись проверена.
[ErrorCode: 0x00000000]

В случае успешной проверки выполнение команды завершается с кодом 0 (сообщение [ErrorCode: 0x00000000]). Данные автора подписи должны в точности совпадать с данными в приведенном выше примере.

Для проверки отсоединенной электронной подписи архива с исходным кодом с проверкой цепочки сертификатов необходимо добавить в локальное хранилище сертификат головного удостоверяющего центра, доступного по ссылке.

>wget http://reestr-pki.ru/cdp/guc2022.crt -O - | sudo /opt/cprocsp/bin/amd64/certmgr -inst -store mRoot -stdin

 --2025-05-12 18:15:39--  http://reestr-pki.ru/cdp/guc2022.crt
Распознаётся reestr-pki.ru (reestr-pki.ru)… 109.207.1.66
Подключение к reestr-pki.ru (reestr-pki.ru)|109.207.1.66|:80... соединение установлено.
HTTP-запрос отправлен. Ожидание ответа… 200 OK
Длина: 1365 (1,3K) [application/x-x509-ca-cert]
Сохранение в: «STDOUT»

-                                              100%[====================================================================================================>]   1,33K  --.-KB/s    за 0s

/2025-05-12 18:15:39 (17,0 MB/s) - записан в stdout [1365/1365]


Certmgr 1.1 (c) "КРИПТО-ПРО", 2007-2022.
Программа для работы с сертификатами, CRL и хранилищами.
Идёт установка:
=============================================================================
1-------
Издатель            : E=dit@digital.gov.ru, C=RU, S=77 Москва, L=г. Москва, STREET="Пресненская набережная, дом 10, строение 2", O=Минцифры России, ОГРН=1047702026701, ИНН ЮЛ=7710474375, CN=Минцифры России
Субъект             : E=dit@digital.gov.ru, C=RU, S=77 Москва, L=г. Москва, STREET="Пресненская набережная, дом 10, строение 2", O=Минцифры России, ОГРН=1047702026701, ИНН ЮЛ=7710474375, CN=Минцифры России
Серийный номер      : 0x00951FA3477C61043AADFA858627823442
SHA1 отпечаток      : 2f0cb09be3550ef17ec4f29c90abd18bfcaad63a
Идентификатор ключа : c91358b14ca7623a7ed23f3ca6e7147c9d70a386
Алгоритм подписи    : ГОСТ Р 34.11-2012/34.10-2012 256 бит
Алгоритм откр. кл.  : ГОСТ Р 34.10-2012 256 бит (512 бит)
Выдан               : 08/01/2022 13:32:39 UTC
Истекает            : 08/01/2040 13:32:39 UTC
Ссылка на ключ      : Нет
Тип идентификации   : При личном присутствии
=============================================================================

[ErrorCode: 0x00000000]

После чего выполнить ту же команду cryptcp с измененными опциями:

/opt/cprocsp/bin/amd64/cryptcp -verify -detach -fext .sig linux-stable-5.10.236-lvc51.tar.xz -f linux-stable-5.10.236-lvc51.tar.xz.sig -verall
CryptCP 5.0 (c) "КРИПТО-ПРО", 2002-2022.
Утилита командной строки для подписи и шифрования файлов.
Папка './':
linux-stable-5.10.236-lvc51.tar.xz... Проверка подписи...
Автор подписи: ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ УЧРЕЖДЕНИЕ НАУКИ ИНСТИТУТ СИСТЕМНОГО ПРОГРАММИРОВАНИЯ ИМ. В.П. ИВАННИКОВА РОССИЙСКОЙ АКАДЕМИИ НАУК, khoroshilov@ispras.ru, 7709006125, 1037700067327, ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ УЧРЕЖДЕНИЕ НАУКИ ИНСТИТУТ СИСТЕМНОГО ПРОГРАММИРОВАНИЯ ИМ. В.П. ИВАННИКОВА РОССИЙСКОЙ АКАДЕМИИ НАУК, г. Москва, "ул. Александра Солженицына, д.25", г. Москва, RU
 Подпись проверена.
[ErrorCode: 0x00000000]

В случае успешной проверки выполнение команды завершается с кодом 0 (сообщение [ErrorCode: 0x00000000]). Данные автора подписи должны в точности совпадать с данными в приведенном выше примере.

Проверка подписи на портале государственных услуг

Шаг 1: Вычисление хэш суммы архива

Для скаченного архива с ядром (например, linux-stable-5.10.236-lvc51.tar.xz) вычислите значение хэш-функции по алгоритму ГОСТ Р 34.11-2012 с размером хэша 256 бит.

Для этого можно воспользоваться штатными средствами используемого дистрибутива Linux, если в нем поддерживается вычисление значения хэш-функции по алгоритму ГОСТ Р 34.11-2012.

Например, в дистрибутиве Astra Linux можно использовать команду gostsum:

$ gostsum linux-stable-5.10.236-lvc51.tar.xz
5eab4e2dc2c020a05fd05f976b621b66f87ff2180b9e1955b1fe732ea196873a  linux-stable-5.10.236-lvc51.tar.xz

В Альт СП и РЕД ОС при наличии установленного в системе пакета поддержки ГОСТ в OpenSSL можно использовать команду openssl dgst -md_gost12_256:

$ openssl dgst -md_gost12_256 linux-stable-5.10.236-lvc51.tar.xz
md_gost12_256(linux-stable-5.10.236-lvc51.tar.xz)= 5eab4e2dc2c020a05fd05f976b621b66f87ff2180b9e1955b1fe732ea196873a

Также это значение можно получить при помощи утилиты cpverify из пакета КриптоПро, которую можно скачать со страницы подтверждения электронной подписи портала государственных услуг и применить в соответствии с инструкциями с этой страницы, добавив в опции утилиты указание алгоритма -alg GR3411_2012_256:

$ /opt/cprocsp/bin/amd64/cpverify -mk linux-stable-5.10.236-lvc51.tar.xz -inverted_halfbytes 0 -alg GR3411_2012_256
5EAB4E2DC2C020A05FD05F976B621B66F87FF2180B9E1955B1FE732EA196873A

Кроме того можно использовать исходный код эталонной реализации ГОСТ Р 34.11-2012 для сборки бинарной утилиты gost3411-2012, при помощи которой затем получить необходимое значение хэш-функции.

Шаг 2: Проверка подписи

Для проверки на странице подтверждения электронной подписи портала государственных услуг надо выбрать последний пункт из списка сверху — электронного документа. ЭП — отсоединенная, в формате PKCS#7 по значению хэш-функции.

В поле Введите значение хэш-функции: необходимо ввести значение хэш-функции, вычисленное на предыдущем шаге.

Далее надо нажать кнопку Загрузить файл и в открывшемся окне выбора файла выбрать скаченный с портала Центра файл с подписью архива исходного кода. После чего в поле ввода Введите код на изображении: ввести цифровой код с изображения слева от поля и нажать кнопку Проверить.

В случае успешной проверки должно появиться следующее сообщение:

Подтверждение подлинности документа

Данные владельца должны в точности совпадать с данными на приведенном выше снимке экрана.