КриптоПро ↔ 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 и параметры кривых.