Ванильный gpgsm с ванильными либами libgcrypt и libksba не может импортировать все корневые серты X509 GOST:
$ gpgsm --import file.cer
И подпись X509 GOST проверить не может:
$ gpgsm --verify file.p7s fileКак найти и скачать требуемый публичный ключ для проверки GOST подписи и корневой серт удостоверяющего центра для его верификации?
Как узнать у какого УЦ и где искать нужный публичный ключ? Официальный файл экселя мнцифры с перечнем акредитованых УЦ даже не содержит ссылок на их сайты!
Оказалось что многие УЦ публичные ключи раздают только шифруя TLS с помощью GOST. А мой LibreSSL имея какие то хеши GOST не может к этим серверам подключится.
Мне надо патчи для поддержки X509 GOST в:
* gnupg
* libgcrypt
* libksba
* libressl
* gnutlsМожет ещё что надо? Прислушаюсь ко всем вашим хорошим советам.
Нашел: https://www.opennet.me/opennews/art.shtml?num=56970 но они используют не найтивные библиотеки, а свои. Желаю пропатчить найтивные либы чтобы можно было хотя бы проверить подпись файла p7s (X509 GOST) и зайти на сайт используя GOST https://...
Зашол к хорошим соседям: https://www.altlinux.org/OSS-GOST-Crypto
Смотрел их гит с патчами GPG: https://www.altlinux.org/GnuPG-GOST сделал diff c ванильными исходниками и поддержки GOST не увидел. В текущих версиях gnupg, libgcrypt, libksba, libressl, gnutls поддержки GOST есть чуть больше. Может обновится до самых новых версий или ещё что надо дома чивать?Смотрел новый gpg4win с официального сайта, он не может импортировать свежий серт нашего казначейства. Есть его патченные версии, для проверки работоспособности патчей?
Проверять подпись на онлайн сервисах и ходить по https через чужие MitM прокси не советовать!
Добавлю что браузер спутник или патчи для чромиума мне не подходят. Https идёт через локальный MitM прокси для проверки трафика на вирусы. А прокся берет системный libressl.
Требуется пропатчить именно системные либы, чтобы ничего глобально не менять и X509 GOST заработал.
https://www.opennet.me/opennews/art.shtml?num=60765
Особенности LibreSSL 3.9.0:
...
Прекращена поддержка алгоритмов GOST и STREEBOG.
...
Есть патчи или брать LibreSSL 3.8.4 ?https://www.gnutls.org/manual/gnutls.html#Hash-and-MAC-funct...
Этого хватит или ещё что-то надо допатчивать:GNUTLS_MAC_GOST28147_TC26Z_IMIT
The GOST 28147-89 working in IMIT mode with TC26 Z S-box.GNUTLS_MAC_GOSTR_94
HMAC GOST R 34.11-94 algorithm.GNUTLS_MAC_STREEBOG_256
HMAC GOST R 34.11-2001 (Streebog) algorithm, 256 bit.GNUTLS_MAC_STREEBOG_512
HMAC GOST R 34.11-2001 (Streebog) algorithm, 512 bit.GNUTLS_MAC_MAGMA_OMAC
GOST R 34.12-2015 (Magma) in OMAC (CMAC) mode.GNUTLS_MAC_KUZNYECHIK_OMAC
GOST R 34.12-2015 (Kuznyechik) in OMAC (CMAC) mode.GNUTLS_DIG_GOSTR_94
GOST R 34.11-94 algorithm.GNUTLS_DIG_STREEBOG_256
GOST R 34.11-2001 (Streebog) algorithm, 256 bit.GNUTLS_DIG_STREEBOG_512
GOST R 34.11-2001 (Streebog) algorithm, 512 bit.
Правильно понимаю, что использование готового набора ПО "AltLinux + КриптоПРО" Вам не подойдет?
А тарбол с исходниками и ебылды для этого КриптоПРО где-то уже выложили?Мне хочется решить внезапно возникшую проблему с GOST, хотя бы по минимуму:
1. Загрузка корневого серта минцифры.
2. Алгоритм поиска, загрузка корневых сертов УЦ и их верификация сертом минцифры.
3. Алгоритм поиска публичного ключа, его загрузка и верификация корневым сертом УЦ.
4. Проверка цифровой подписи p7s (X509 GOST) файла в gpgsm. Желательна поддержка подписей GOST в Ocular, LibreOffice, ...
5. Поддержка шифрования GOST в TLS для сайтов.Увидел что libgcrypt-1.11.0 уже имеет некую поддержку GOST:
* GOST 28147-89 (RFC 5830) / GOST R 34.12-2015 (Magma: RFC 8891 & Kuznyechik: RFC 7801)
* GOST R 34.11-94 / GOST 34.311-95, GOST R 34.11-2012 (Stribog) / RFC 6986
* GOST R 34.10-2012 (RFC 7091)В libksba также есть какие-то OID c GOST:
{ "1.2.643.2.2.35.1", "GOST2001-CryptoPro-A" },
{ "1.2.643.2.2.35.2", "GOST2001-CryptoPro-B" },
{ "1.2.643.2.2.35.3", "GOST2001-CryptoPro-C" },
{ "1.2.643.7.1.2.1.2.1", "GOST2012-tc26-A" },
{ "1.2.643.7.1.2.1.2.2", "GOST2012-tc26-B" },Вопрос, если всё в кучу собрать и свежий gnupg собрать (а какой версии?), то GOST X509 в gpgsm для проверки подписи p7s заработает? libtasn1 правильно разбирает подписи p7s сделаные по GOST? Может ещё какие патчи надо? Смотрел https://github.com/GostCrypt но там всё очень старое и не шевелица давно. Предполагаю что поддержку в апстрим давно залили. Или с GOST в апстриме всюду как в libressl, зальют, не понравица и все выкидывают? Ну или санкции...
Желательно поддержку GOST в найтивных либах GNU/Linux чтобы ничего не пришлось менять и код весь был открыт и свободный. Если кто знает где и для чего лежат необходимые для GOST патчи дайте пожалуйста ссилки.
Да и gpg4win собранный с libgcrypt-1.11.0 так же должен иметь поддержку проверки цифровых подписей GOST в ocular.
> А тарбол с исходниками и ебылды для этого КриптоПРО где-то уже выложили?Насколько мне известно, нет.
> 4. Проверка цифровой подписи p7s (X509 GOST) файла в gpgsm.
> 5. Поддержка шифрования GOST в TLS для сайтов.Возможно данная информация будет полезной:
1) http://soft.lissi.ru/articles/KleopatraKmailGnuPg/
2) http://soft.lissi.ru/ls_product/skzi/OpenSSL/
3) В пакете OpenSSL есть поддержка GOST engine.
> Возможно данная информация будет полезной:4) http://soft.lissi.ru/ls_product/os/linux/
>> Возможно данная информация будет полезной:
> 4) http://soft.lissi.ru/ls_product/os/linux/что же эти мастера по шифрованию не поставили HTTPS на собственный вебсайт?