Выпуск лабораторного ГОСТ-сертификата НАЙС.ОС¶
При испытаниях на НАЙС.ОС успешно сформированы ключ ГОСТ Р 34.10-2012/256 и самоподписанный X.509-сертификат. Для опыта с CMS-шифрованием выбран набор параметров XA, позволяющий исследовать согласование ключа. Это учебный, а не квалифицированный сертификат.
Создайте отдельный ключ для шифрования¶
umask 077
LAB=/root/gost-cms-test/lab
mkdir -p "$LAB"
chmod 700 "$LAB"
cd "$LAB"
openssl genpkey \
-algorithm gost2012_256 \
-pkeyopt paramset:XA \
-out niceos-lab.key.pem
chmod 600 niceos-lab.key.pem
В описываемом стенде команда завершилась без ошибок на OpenSSL 3.5.6 + GOST Engine. Не считайте параметры XA универсальным стандартом для любого получателя: реальные продукты могут поддерживать разные наборы кривых и схемы транспорта ключей. Это проверяется при межвендорном обмене.
Создайте самоподписанный сертификат¶
openssl req \
-new -x509 \
-key niceos-lab.key.pem \
-days 30 \
-subj '/C=RU/O=NiceOS Lab/CN=NiceOS GOST CMS Test' \
-addext 'keyUsage=critical,keyAgreement,keyEncipherment' \
-addext 'extendedKeyUsage=emailProtection' \
-out niceos-lab.crt.pem
В испытании X.509 содержал ГОСТ-2012/256 в полях Signature Algorithm и Public Key Algorithm, а также Key Agreement, Key Encipherment и E-mail Protection.
Проверьте сертификат самостоятельно:
openssl x509 -in niceos-lab.crt.pem -noout \
-subject -dates -ext keyUsage -ext extendedKeyUsage
openssl x509 -in niceos-lab.crt.pem -noout -text \
| grep -E 'Signature Algorithm:|Public Key Algorithm:'
Не путайте назначение сертификата для согласования ключа при шифровании с сертификатом для электронной подписи. Самоподпись служит для лаборатории и не создает промышленного доверия.
Экспортируйте только открытый сертификат¶
openssl x509 \
-in niceos-lab.crt.pem \
-outform DER \
-out niceos-lab-public.cer
openssl x509 -inform DER -in niceos-lab-public.cer \
-noout -subject -fingerprint -sha256
Для испытания КриптоПро → НАЙС.ОС на macOS передавайте niceos-lab-public.cer, но не niceos-lab.key.pem. Если cryptcp не принимает профиль получателя, зафиксируйте ошибку и сравните OID. Не пытайтесь исправить её использованием настоящего квалифицированного ключа.
Отдельная подпись для проверки CryptCP¶
В другом уже выполненном опыте GPGSM использовал одноразовый сертификат со свойствами CA:TRUE и digitalSignature для проверки подписи на Mac. Это было сделано ради технической локальной самопроверки. Не повторяйте CA:TRUE как рекомендуемое оформление пользовательского сертификата. В рабочих системах сертификаты CA и конечного пользователя разделяются; корпоративное доверие строится на проверенной цепочке.
Для создания подписи см. проверку НАЙС.ОС → КриптоПро; для защиты контейнера закрытого ключа см. PKCS#12.