Диагностика ГОСТ-операций 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 и вывод полной отладки агента.