Контрольные примеры и проверка ГОСТ после обновлений¶
Эта статья описывает воспроизводимый приёмочный набор для НАЙС.ОС. Результаты испытаний можно хранить в собственном эксплуатационном журнале без секретов и содержимого закрытых ключей.
Проверка A: алгоритмы доступны¶
openssl engine -t -c gost
openssl list -digest-algorithms | grep -Ei 'gost|streebog'
openssl list -cipher-algorithms | grep -Ei 'magma|kuznyechik|gost'
Проверка B: генерация ключей и подпись¶
umask 077
mkdir -p ~/gost-lab/acceptance && cd ~/gost-lab/acceptance
printf 'acceptance\n' > test.txt
openssl genpkey -algorithm gost2012_256 -pkeyopt paramset:TCA -out key256.pem
openssl pkey -in key256.pem -pubout -out pub256.pem
openssl dgst -md_gost12_256 -sign key256.pem -out test.sig test.txt
openssl dgst -md_gost12_256 -verify pub256.pem -signature test.sig test.txt
Проверка C: отрицательный тест¶
cp test.txt changed.txt
printf '!' >> changed.txt
if openssl dgst -md_gost12_256 -verify pub256.pem \
-signature test.sig changed.txt; then
echo 'ОШИБКА: подмена не обнаружена'
exit 1
else
echo 'OK: изменение содержимого обнаружено'
fi
Проверка D: 512-битный профиль¶
openssl genpkey -algorithm gost2012_512 -pkeyopt paramset:A -out key512.pem
openssl pkey -in key512.pem -pubout -out pub512.pem
openssl dgst -md_gost12_512 -sign key512.pem -out test512.sig test.txt
openssl dgst -md_gost12_512 -verify pub512.pem -signature test512.sig test.txt
Проверка E: сертификат и ключ¶
Создайте сертификат по инструкции PKI, затем сравните открытые ключи и выполните openssl verify с известным доверенным корнем.
Проверка F: PFX¶
Создайте PFX интерактивно по инструкции PKCS#12 и повторно прочитайте его содержимое командой openssl pkcs12 -info -noout. Для совместимости с КриптоПро используйте отдельный тест обмена между двумя системами.
Что сохранить в журнале испытаний¶
| Поле | Что записывать |
|---|---|
| Версия среды | openssl version -a, идентификатор сборки НАЙС.ОС |
| Конфигурация | Использованный профиль OPENSSL_CONF без секретов |
| Операция | Генерация, подпись, CSR, PFX, TLS |
| Профиль | Алгоритм, paramset, OID, формат |
| Результат | Код завершения, понятный ожидаемый вывод |
| Отрицательный тест | Действительно ли обнаруживается подмена |
| Совместимость | Приложение-получатель и результат импорта |
Не прикладывайте к отчёту закрытые ключи, секретные пароли и полный дамп приватных контейнеров.