Совместимость ГОСТ-сертификатов и российских удостоверяющих центров¶
НАЙС.ОС обрабатывает ГОСТ-сертификаты с алгоритмами CryptoPro и ТК26 через системные криптографические компоненты. В корпоративной среде это помогает строить интеграции с удостоверяющими центрами, электронным документооборотом и внешними системами, использующими ГОСТ Р 34.10.
Какие данные передаются между сторонами¶
Открытые данные: сертификаты X.509 (.cer, .crt, .pem), цепочка УЦ, файлы подписи (.sig, .p7s, .p7m), исходные документы, списки отзыва и параметры проверки. Сам сертификат не содержит закрытый ключ.
Секретные данные: закрытые ключи и контейнеры с ними, парольные фразы, ключевые носители. Перенос таких данных требует отдельной процедуры защиты и контроля доступа.
.cer не обозначает однозначно PEM или DER; определяйте фактический формат. .p7s часто обозначает отсоединённую подпись CMS, .p7m — CMS-контейнер, но профиль следует сверять по содержимому.
Рекомендуемый порядок приёма сертификата¶
- Получите сертификат владельца и необходимые сертификаты УЦ из доверенного источника.
- Определите формат (PEM или DER) и переведите его в читаемое представление без изменения содержимого.
- Проверьте алгоритм открытого ключа, параметрический набор, подпись УЦ и назначение сертификата.
- Постройте цепочку до доверенного корневого центра.
- Для подписанного документа отдельно проверьте CMS/подпись на оригинальном файле.
- Проверьте период действия и требования к отзывам для вашей модели доверия.
Проверка основных реквизитов¶
openssl x509 -in partner.pem -noout -subject -issuer -serial -dates
openssl x509 -in partner.pem -noout -text
Если цепочка предоставлена в PEM:
Эта команда проверяет цепочку в пределах заданной модели доверия; статусы OCSP/CRL, политика подписания и юридические свойства документа требуют отдельной проверки.
КриптоПро и X.509¶
Сертификаты, выпущенные средствами КриптоПро и российскими УЦ, могут использовать исторические OID CryptoPro-A/B/C или современные OID ТК26. Для совместимости важны алгоритм ГОСТ, набор параметров кривой, формат публичного ключа и подписи, а не название программы, в которой создан сертификат.
Обмен закрытыми ключами и PFX-контейнерами — другая задача: см. OpenSSL и КриптоПро. Для совместимости CMS дополнительно учитываются атрибуты подписи, порядок подписания и требуемый профиль документооборота.
Типовые препятствия¶
| Симптом | На что обратить внимание |
|---|---|
| Сертификат отображается, но подпись не проверяется | Алгоритм подписи, набор параметров, исходный документ и публичный ключ |
| Нет полного доверия | Отсутствует промежуточный УЦ или неверно выбран корневой |
| Сертификат читается только одной программой | Специфические атрибуты, DER-кодирование или неполная поддержка OID |
| После переноса файла подпись не совпадает | Кодировка, нормализация переводов строк, прикреплённый/отсоединённый формат |
| Сертификат есть, закрытого ключа нет | Сертификат публичен; импорт ключа требует отдельного контейнера или носителя |