GPGSM: ГОСТ-сертификаты X.509 и CMS-документы¶
gpgsm работает с сертификатами X.509 и сообщениями CMS. Это отдельный формат, отличающийся от OpenPGP. Он используется при проверке электронных документов, подписанных сообщений и в системах документооборота.
Состояние системы¶
Список секретных ключей отображает метаданные, не сами секреты. Перед пересылкой снимка экрана удалите персональные данные владельцев сертификатов.
Импорт сертификата¶
Если документ подписан промежуточным УЦ, в хранилище должны присутствовать соответствующие сертификаты цепочки. Импорт сертификата не делает его автоматически доверенным корнем.
Проверка CMS¶
Для CMS-файла, содержащего подписанное сообщение:
Для отделённой подписи синтаксис зависит от структуры сообщения, поэтому заранее определите его формат и сопутствующий файл данных. Проверяйте отдельно корректность криптографической подписи, срок сертификата, цепочку доверия, назначение и отзыв.
Подпись документа¶
Если у вас есть доступный закрытый ключ, соответствующий сертификату:
Указанный идентификатор необходимо заменить идентификатором сертификата, выведенным gpgsm --list-secret-keys. Тест проводите в отдельном пользовательском профиле с учебным ключом.
Доверие и российские УЦ¶
Системный пакет российских сертификатов УЦ помогает управлять общими доверенными корнями. При этом gpgsm использует собственную проверку цепочек и может обращаться к dirmngr для данных об отзыве. Поэтому для электронного документа важно пройти именно проверку gpgsm --verify, а не ограничиваться openssl verify.
Глубокое объяснение ASN.1/CMS находится в разделе libksba.