PFX/PKCS#12: перенос ГОСТ-сертификатов и приватных ключей¶
Разбираем структуру PFX и правила безопасной диагностики импорта между криптопровайдерами.
Документация ПО — НАЙС.ОС CLOUD. Это самостоятельная учебно-справочная статья. Команды приведены для изучения и диагностики; операции с ключами, дисками и действующими сервисами выполняют только после резервного копирования и проверки назначения.
Почему PFX не равен сертификату¶
Контейнер PKCS#12 может объединять закрытый ключ, один или несколько сертификатов, атрибуты и криптографическую защиту. Файл .pfx не гарантирует, что внутри находится закрытый ключ, и тем более не обещает, что ключ экспортируем. Некоторые ключи являются аппаратно неизвлекаемыми и не должны покидать токен.
Слои совместимости¶
- Кодировка и синтаксис контейнера PKCS#12.
- Способ проверки целостности и парольной защиты.
- Способ защиты закрытого ключа внутри контейнера.
- Кодирование ГОСТ-ключа и параметров кривой.
- Назначения сертификата и доверенная цепочка.
RFC 9548 описывает использование российских алгоритмов в PKCS#12. Сам по себе факт поддержки OpenSSL команды pkcs12 не означает поддержки всех ГОСТ-алгоритмов защиты контейнера — эта функциональность зависит от провайдера и уровня реализации.
Посмотреть учебный PFX¶
Команда может запросить пароль. Запускайте её в интерактивном терминале; не вводите реальные пароли после -passin pass:... в историю shell. В диагностике фиксируйте OID механизмов контейнера и ошибки, но не выводите приватный ключ в журналы.
Работа только с публичным сертификатом¶
Если это разрешено политикой организации, экспортировать сертификат без закрытого ключа можно по аналогичной операции:
Для реальных контейнеров удостоверьтесь, что целевой путь доступен только владельцу и файл не перезаписывает чужие материалы. Импорт PFX в другой криптопровайдер может изменять атрибуты и связанные метаданные, поэтому проверяйте совпадение открытого ключа и сертификата после импорта.
Отдельно об аппаратных токенах¶
PFX — файловый формат, а PKCS#11 — интерфейс для доступа к объектам криптоустройства. Они не взаимозаменяемы: наличие PKCS#11-модуля не создаёт возможности экспорта закрытого ключа. Для совместимости с сертифицированными токенами нужны реальные испытания аппаратуры, драйвера и выбранных механизмов.