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

КриптоПро ↔ OpenSSL ↔ GPGSM: карта причин несовместимости

Технический порядок испытаний сертификатов, PFX, CMS и транспортных ключей между разными стеком.

Документация ПО — НАЙС.ОС CLOUD. Это самостоятельная учебно-справочная статья. Команды приведены для изучения и диагностики; операции с ключами, дисками и действующими сервисами выполняют только после резервного копирования и проверки назначения.

Три реализации — три разных уровня интеграции

КриптоПро CSP предоставляет российские криптографические алгоритмы и форматы в собственном программном окружении. OpenSSL предоставляет EVP, Provider и отдельные интерфейсы CMS/X.509. GPGSM использует компоненты GnuPG, libgcrypt и libksba. Совпадение математических алгоритмов здесь необходимо, но недостаточно: приложение должно совпадать по кодированию и профилю обмена.

Матрица исследуемых сценариев

Сценарий Что должно совпасть Как документировать
Сертификат КриптоПро → OpenSSL OID ключа, кривая, DER, цепочка openssl x509 -text, SHA-256 DER
PFX → OpenSSL Алгоритм защиты ключа, парольная кодировка, структура openssl pkcs12 -info на учебном контейнере
Detached CMS → OpenSSL OID, signedAttrs, точные байты и цепочка cms -verify -content
CMS от OpenSSL → КриптоПро Совместимый алгоритм и параметры Подписанный учебный файл и лог КриптоПро
CMS → GPGSM libksba ASN.1, алгоритмы libgcrypt и сертификат gpgsm --verify и журнал ошибок
Обёртка CEK и обмен через VKO UKM, кривые, KDF, форма RecipientInfo Стандартизованные тестовые входы/выходы

Схема поиска ошибки

Сначала читаем без криптографии. ASN.1 и сертификат должны быть структурно правильны. Затем проверяем математический алгоритм на контрольном векторе. После этого проверяем контейнер с тестовым ключом. В последнюю очередь — доверие и статус сертификата в целевой организации.

Если один стек не может прочитать PEM, сначала убедитесь, что это именно PEM ожидаемого типа. Переименование PFX в DER не превращает PKCS#12 в CMS. Для PFX применяйте отдельные средства разбора и учитывайте парольную защиту.

Параметрические наборы

ГОСТ-2012 использует несколько наборов параметров эллиптических кривых. Некоторые современные наборы исторически связаны с кривыми CryptoPro 2001, но совпадение математических параметров не тождественно совпадению OID, допустимых профилей или трактовке формата подписи.

Что считать результатом

Полная проверка сценария должна выполняться в двух направлениях: файл или сообщение из системы A обрабатывается системой B, и наоборот. Сохраняйте публичные тестовые ключи и сертификаты, контрольные суммы файлов, точные версии библиотек и данные отрицательных тестов.

Не заявляйте межвендорную совместимость только на основании того, что на обоих компьютерах присутствует подпись ГОСТ-2012. Без испытаний конкретных версий это гипотеза, а не готовый статус продукта.

Первоисточники и дополнительное чтение

  • RFC 9215 — ГОСТ-2012 в сертификатах и списках отзыва.
  • RFC 9548 — особенности ГОСТ в PKCS#12/PFX.
  • RFC 4490 — исторические профили CMS.
  • Р 1323565.1.025-2019 — российские рекомендации по CMS.
  • RFC 7836 — HMAC, PRF, KDF, VKO и параметры кривых.