OpenSSL с ГОСТ в НАЙС.ОС¶
OpenSSL — основной интерфейс работы с ГОСТ-криптографией в НАЙС.ОС. Через него создают ключи, выпускают запросы на сертификаты, подписывают файлы, проверяют подписи, шифруют данные и работают с криптографическими контейнерами.
Быстрый старт: подпись за несколько команд¶
Выполняйте в отдельном учебном каталоге:
umask 077
mkdir -p ~/gost-lab/first-signature
cd ~/gost-lab/first-signature
printf 'НАЙС.ОС: проверка ГОСТ\n' > message.txt
openssl genpkey -algorithm gost2012_256 \
-pkeyopt paramset:TCA -out private.pem
openssl pkey -in private.pem -pubout -out public.pem
openssl dgst -md_gost12_256 -sign private.pem \
-out message.sig message.txt
openssl dgst -md_gost12_256 -verify public.pem \
-signature message.sig message.txt
Ожидаемый итог проверки — Verified OK. Теперь убедитесь, что изменение сообщения нарушает подпись:
cp message.txt modified.txt
printf 'изменение\n' >> modified.txt
openssl dgst -md_gost12_256 -verify public.pem \
-signature message.sig modified.txt
На изменённых данных проверка завершается ошибкой: это и есть смысл защиты целостности.
Навигация по руководствам¶
| Задача | Статья |
|---|---|
| Проверка и профили OpenSSL | Настройка |
| Принципы ENGINE и Provider | Engine/Provider |
| Наборы параметров | Paramset, OID |
| Полный жизненный цикл ключа | Ключи |
| PEM, DER, PKCS#8 | Форматы |
| Стрибог, gostsum, MAC | Хэши и MAC |
| Подпись и отрицательные тесты | Подпись |
| CSR, X.509, самоподписанные сертификаты | PKI |
| SAN, KeyUsage, CA | Расширения сертификатов |
| PFX/PKCS#12 | Контейнеры |
| КриптоПро CSP и собственные OID | Совместимость |
| Кузнечик и Магма | Шифрование |
| TLS-клиент и тестовый сервер | TLS |
| CMS, S/MIME | CMS |
| Команды конфигурации ENGINE | CRYPT_PARAMS и другие |
| Хранение и защита закрытых ключей | Защита ключей |
| Вызовы из приложений | EVP |
| Ошибки и диагностика | Устранение неполадок |
| Сквозные лабораторные испытания | Контрольные примеры |
Соглашения в примерах¶
*.keyилиprivate.pem— закрытый ключ, хранится с правами0600.*.pubилиpublic.pem— открытый ключ, может распространяться.*.csr— запрос на выпуск сертификата, не является сертификатом.*.crt/*.pem— сертификат или цепочка X.509.*.p12/*.pfx— контейнер с ключами и сертификатами, часто защищённый паролем.*.sig— бинарная электронная подпись; не является сертификатом.
Используйте параметры, согласованные с принимающей стороной: ГОСТ-совместимость определяется алгоритмом, кривой, OID, кодировкой и форматом контейнера вместе.
Разработчики upstream OpenSSL и gost-engine выпускают обновления, поэтому доступные операции расширяются по мере обновления пакетов НАЙС.ОС. Для воспроизводимых процедур фиксируйте название команды, параметры, тестовый файл и ожидаемый результат, а не только имя алгоритма.
Последовательное обучение¶
Чтобы освоить криптографическую подсистему НАЙС.ОС не по отдельным командам, а на единой инфраструктуре ключей и сертификатов, пройдите практический курс ГОСТ: ключи → подпись → корневой УЦ → промежуточный УЦ → серверный/клиентский сертификаты → PFX → КриптоПро → ротация.