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

Диагностика ГОСТ-операций GnuPG

Чтобы определить причину ошибки, сначала выясните, с каким форматом работает программа: OpenPGP (gpg) или X.509/CMS (gpgsm). Затем отдельно проверяйте доступность ГОСТ-алгоритма, наличие ключа и корректность доверенной цепочки.

Набор команд

gpg --version
gpgsm --version
gpg --with-colons --list-config curve
gpg --with-colons --list-config digestname
gpg --with-colons --list-config ciphername
gpgconf --list-components
rpm -q gnupg libgcrypt libksba pinentry

Частые ситуации

Симптом Причина для проверки
Неизвестная ГОСТ-кривая Алгоритм не объявлен в текущей среде или отсутствует в используемой криптобиблиотеке
Не удалось подписать документ Нет подходящего секретного ключа, заблокирован агент, не указан нужный ключ
Ошибка gpgsm --verify Неверная подпись, отсутствующая цепочка, ошибка доверия или неподдерживаемый формат CMS
Запрос PIN не появляется pinentry/агент не видит терминал, нет нужного пользовательского контекста
Смарт-карта не обнаружена PC/SC, драйвер токена, права доступа, состояние scdaemon
Контейнер от другой системы не читается Различие контейнеров и профилей алгоритмов, не только самого ГОСТ-стандарта

Что сохранять для поддержки

Версии и имена пакетов, перечень поддержанных кривых, обезличенное сообщение об ошибке, тип контейнера (OpenPGP/CMS/PFX), результат независимой проверки публичного сертификата. Не отправляйте скрытые ключи, сертификаты с персональными данными без согласования, пароли, PIN/PUK и вывод полной отладки агента.