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

Пользователю: сертификаты, подписи и защищённые документы с ГОСТ

Какие задачи можно выполнять

Проверить присланный документ. Для этого нужен подписанный файл, при отсоединённой подписи также исходный документ, и сведения о подписанте. Закрытый ключ получателя при проверке подписи не нужен.

Подписать документ. Для этого нужен ваш закрытый ключ, соответствующий сертификат и разрешённое назначение ключа. Подпись рабочего документа может иметь правовые последствия; используйте выделенный тестовый сертификат для изучения инструмента.

Получить зашифрованный файл. Отправитель шифрует его на открытый сертификат получателя; для расшифрования получателю требуется связанный закрытый ключ, например импортированный из разрешённого PFX либо доступный через аппаратный носитель, если поддержка последнего подтверждена.

Перенести лабораторный ключ между приложениями. PKCS#12 объединяет сертификат и приватный ключ под паролем. В НАЙС.ОС уже показан успешный импорт такого файла с ГОСТ-2012 ключом.

Получение сведений о возможностях

gpgsm --version

В НАЙС.ОС отображается, в частности, GOST28147, STRIBOG256, STRIBOG512 и поддержка ГОСТ-эллиптических кривых. Это перечень доступных криптографических компонентов, а не гарантия того, что любая операция с любым контейнером окажется возможной.

Импорт открытого сертификата

gpgsm --import public-certificate.cer
gpgsm --list-keys

Сертификат может быть получен из КриптоПро на Mac или от организации-партнёра. Открытый сертификат можно передавать другим, однако в нём содержатся сведения о владельце. Не публикуйте его автоматически. Команда импорта не означает подтверждение доверия к владельцу.

Проверка подписи

Если вы получили исходный файл document.pdf и отсоединённую подпись document.pdf.sgn:

gpgsm --status-fd 2 --verify document.pdf.sgn document.pdf

Обращайте внимание на сообщения о математической проверке и доверии к цепочке. GOODSIG/VALIDSIG без подтверждённого доверия требуют дополнительной проверки подлинности сертификата и статуса отзыва; см. объяснение.

Не меняйте исходный файл даже на один символ перед проверкой; для отдельного теста можно создать копию и убедиться, что подпись изменённого содержимого отклоняется.

Проверка наличия собственного ключа

gpgsm --list-secret-keys

Пустой список означает, что GPGSM не обнаружил доступных ему закрытых ключей, даже если в списке сертификатов есть десятки открытых записей. При этом закрытые ключи могут существовать на Рутокене или в другом приложении, но автоматически доступными GPGSM от этого не становятся.

Расшифрование адресованного вам CMS

Когда закрытый ключ доступен GPGSM и контейнер использует поддерживаемый профиль:

gpgsm --output recovered.bin --decrypt received.p7e

Это общий пользовательский синтаксис. До проведения сквозного теста на вашей установленной сборке успешное ГОСТ-расшифрование не считается подтверждённым. Если требуется пароль, используйте штатный запрос Pinentry. Не отправляйте пароль вместе с документом.

Что делать при ошибке

  1. Посмотрите, есть ли у вас исходный файл для detached-подписи и нужный секретный ключ для дешифрования.
  2. Проверьте, не перепутаны ли GPGSM (.p7m/.p7e) и OpenPGP (.gpg/.asc).
  3. Снимите короткий журнал с кодом ошибки, но не публикуйте фамилии, СНИЛС, адреса, PIN, ключи и полный DN.
  4. При ошибке доверия обратитесь к администратору: это нельзя исправлять выбором «всегда доверять» для неизвестного рабочего сертификата.

Дополнительно: для администратора, сведения о патче, диагностика.