Перейти к содержанию

GnuPG НАЙС.ОС: расширенная поддержка ГОСТ (NiceSOFT r12)

Назначение: объяснить администраторам, пользователям и специалистам электронного документооборота отличия GnuPG в НАЙС.ОС от типовой сборки, операции с российской криптографией, устройство хранения ключей и границы совместимости. Исходный код для работы по руководству читать не требуется.

Важное разграничение. Возможность, присутствующая в патче, не равна функции, проверенной на установленной машине. Обозначения ниже: П — механизм есть в исходном патче gnupg-2.4.8-nicesoft-gost-r12.patch; И — имеется положительный фактический результат испытания niceos-gost от 24.10.2026; О — ещё необходимо отдельное испытание. По одному показу алгоритма в --version нельзя подтверждать весь протокол.

Зачем это пользователю

НАЙС.ОС объединяет инструменты работы с российской криптографией, которые в обычной установке Linux часто не образуют готового совместимого стека: gpgsm для X.509/CMS, gpg для OpenPGP, gpg-agent для управления закрытыми ключами, dirmngr для CRL/OCSP, дополненную libksba для ASN.1/CMS и libgcrypt для математических операций. В систему также входит OpenSSL с ГОСТ-движком, но это другой криптографический интерфейс и не обязательный участник нативного пути gpgsm для описанного старого CMS-профиля r11/r12.

Подтверждённый результат на niceos-gost

24 октября 2026 года зафиксированы:

  • Импорт настоящего сертификата ГОСТ Р 34.10-2012/256, экспортированного из КриптоПро CSP 5.0 (macOS 12.7.6) — успешный.
  • Проверка отсоединённой CMS-подписи КриптоПро с ГОСТ Р 34.10-2012/256 и «Стрибог»-256 — GOODSIG, VALIDSIG; повторная штатная проверка — TRUST_FULLY, код 0.
  • Подмена исходных данных — BADSIG, код 2. Значит, проверяющий действительно учитывает содержание файла.
  • Генерация лабораторного ГОСТ Р 34.10-2012/256 ключа и X.509-сертификата OpenSSL 3.5.6 с доступным gost Engine.
  • Экспорт лабораторного закрытого ГОСТ-ключа в обычный PKCS#12, защищённый AES-256-CBC/HMAC-SHA256, и импорт его в изолированный GPGSM: прочитано секретных ключей: 1, импортировано секретных ключей: 1, ключ появляется в --list-secret-keys.

В одном раннем запуске проверки подписей встречалась ошибка URI при проверке отзыва; позже три прогона (normal, no_crl, no_policy) завершились кодом 0. Точная причина первоначальной ошибки не определена. Это не основание удалять механизмы отзыва из рабочей конфигурации.

Основные возможности патча r12

Область Что реализовано в исходниках Статус установленной системы
ГОСТ-сертификаты и CMS-подписи Работа с ключами ГОСТ-2001, 2012/256 и 2012/512, профилями ASN.1/CMS, подписями и хэшами И: ГОСТ-2012/256, КриптоПро → НАЙС.ОС
CMS EnvelopedData Нативный устаревший профиль ГОСТ 28147-89 с транспортом ключа KTRI, VKO/UKM, проверкой MAC и несколькими получателями П, О: локальный и межвендорный сквозной тесты
ГОСТ-PFX/PKCS#12 Импорт и экспорт, сохранение ГОСТ-идентификаторов, современные PBES2/ГОСТ и варианты старого PBE И: обычный AES-защищённый P12; специальные ГОСТ-PFX — П/О
OpenPGP ГОСТ-кривые, подпись, шифрование, подбор параметров, тестовый собственный профиль П/О: межвендорная совместимость стандартного OpenPGP не доказана
CRL/OCSP ГОСТ-валидация подписей цепочек и отзывов И: штатная проверка одного сертификата; остальные профили — О
Совместимость с токенами Использование общего агента и возможностей scdaemon О: прямой доступ к Рутокену не доказан

Как устроено решение

  • libksba NiceSOFT r4 — читает/формирует сертификаты и структуру CMS, принимает российские OID, параметры, атрибуты и форматы транспорта.
  • gpgsm NiceSOFT r12 — организует подпись, проверку, формирование/чтение CMS, импорт/экспорт PFX и обращение к криптографическому агенту.
  • libgcrypt 1.11.1 — алгоритмы шифрования, хэширования, операции над ключами. Для конвертов требуется согласование ключа и проверка его имитовставки, а не только чтение структуры.
  • gpg-agent — хранит защищённые закрытые ключи и осуществляет операции по запросу GPGSM; PIN/пароль не нужно записывать в сценарии.
  • dirmngr — проверяет CRL/OCSP и обеспечивает вспомогательную работу с цепочкой доверия.
  • OpenSSL 3.5.6 + gost-engine — полезны для выпуска лабораторных сертификатов и независимого сравнения результатов; обычные операции gpgsm --encrypt/--decrypt не должны тайно подменяться вызовами OpenSSL.

Разделы

  1. Чем отличается GnuPG НАЙС.ОС от обычной сборки.
  2. Система доказательств: что уже проверено.
  3. Электронная подпись и CMS.
  4. ГОСТ-шифрование CMS: профиль, безопасность, ограничения.
  5. ГОСТ-ключи и PKCS#12/PFX.
  6. Открытые ключи OpenPGP и ГОСТ.
  7. Удостоверяющие центры, доверие, CRL и OCSP.
  8. Руководство администратора.
  9. Руководство пользователя.
  10. Совместимость с КриптоПро: программа испытаний.
  11. Диагностика и устранение неисправностей.

Нормативная база: RFC 5652, RFC 9215, RFC 7836, RFC 9548, RFC 9337, RFC 9879. Последний документ описывает PBMAC1 для PKCS#12, не спецификацию ГОСТ как такового. RFC 9548 имеет информационный статус.