GnuPG-GOST
Добавление поддержки ГОСТ в GnuPG
Добавление поддержки ГОСТ в GnuPG ведётся с целью предоставить пользователям возможность использовать алгоритмы шифрования и цифровой подписи ГОСТ в широком спектре пользовательских программ уже работающих с GnuPG, среди которых видное место занимает интеграция шифрования и подписи в менеджеры файлов (например, Kleopatra в KDE) и программы для чтения и отправки электронной почты (например, Enigmail для Thunderbird).
В настоящее время все изменения производятся прежде всего с целью обеспечить работу на базе аппаратных токенов и смарт-карт с поддержкой ГОСТ, совместимых с PKCS#11.
Состав изменений
Описание изменения | Затронутые программы и модули |
---|---|
Специфика ГОСТ при распаковке, упаковке и разборе сообщений формата OpenPGP | gpg |
Специфика ГОСТ при распаковке, упаковке и разборе сообщений формата S/MIME | gpgsm, libksba |
Реализация алгоритма вычисления общего ключа (ВКО) | libgcrypt, libpkcs11-helper |
Специфика ГОСТ при разборе информации о ключах на токене и их передачи GnuPG | gnupg-pkcs11-scd |
Дополнительные опции настройки обработки информации о списках отзыва сертификатов | dirmngr |
Как только изменения окажутся в Сизифе, здесь будут указаны ссылки на соответствующие патчи.
Порядок настройки и работы
Подготовительный этап
Прежде всего необходимо настроить gnupg-pkcs11-scd следуя странице руководства gnupg-pkcs11-scd(1). В частности, в конфигурации агента (~/.gnupg/gpg-agent.conf) его нужно обозначить как демон смарт-карт (scdaemon-program).
Если на токене (смарт-карте) отсутствуют ключи, нужно создать их. Если планируется использование совместно с gpgsm, то необходимо создать и пользовательский сертификат.
Далее, следуя той же странице руководства, нужно импортировать ключи в GnuPG. Для собственно gpg это делается несколько нетривиальным способом, в два подхода: сперва gnupg-pkcs11-scd напрямую даётся команда LEARN, а затем номер (отпечаток) «выученного» таким образом ключа используется в экспертном режиме генерации ключа в gpg.
В случае использования gpgsm процедура импорта выполняется штатно. Однако, для успешной проверки сертификатов, подписанных отечественными УЦ, может понадобиться использовать новую спецнастройку в файле ~/.gnupg/dirmngr_issuers.conf. Например:
(issuer "CN=УЦ ФГУП \\\"ГРЧЦ\\\"" single-crl)
[1].
- ↑ Данная настройка включает режим последовательной обработки всех указанных URL списков отзыва, чтобы избежать проблемы, отмеченной здесь — https://lists.altlinux.org/pipermail/devel/2018-August/205109.html