GostCryptography
GostCryptography copied to clipboard
Реализация под Net 5
Хотим переехать на новую платформу, а не можем из-за отсутствия GostCryptography... Очень прошу рассмотреть возможность портировать библиотеку под Net 5. или .Net Core
Здравствуйте. Вопрос в проработке, надеюсь, что все получится :)
Есть продвижения в данном вопроса? Может сделаете нам подарок к новому году?)
Да, стараюсь :) Многие вещи получилось сделать, некоторые идут совсем с трудом, но думаю, что все получится. Все никак не могу урвать время, чтобы оформить существующие наработки.
Добрый день. Тоже столкнулся с ошибкой "Unknown algorithm '1.2.643.7.1.1.1.1". В проекте используется .Net 5.0. Я так понял вы как раз и занимаетесь этой проблемой в новом обновлении под .Net 5.0? Я не очень хорошо разбираюсь в работе с ЭЦП. Передо мной стоит задача валидации подписанных данных (хэш полей карточки документа). Данные подписываются с клиентской стороны с использованием crypto pro. Я так понимаю что у меня не получится проверить подпись пока не выйдет обновление?
С появлением .NET Core реализация базовых абстракций для работы с криптографией существенно изменилась. Разработчикам .NET нужно было обеспечить работу криптографии на многих платформах (не только Windows). Они отказались от жесткой привязки к Crypto API, беря большую часть работы на себя. При этом для .NET разработчиков ничего не изменилось, поменялись только внутренности. При этом с точки зрения объема и формы предоставляемой функциональности для работы с криптографией ничего не изменилось. Но в этом и суть основной проблемы для данной библиотеки.
Механизмы криптографии в .NET не позволяют (до сих пор) делать какое-либо функциональное расширение. Например, добавить поддержку криптографии по ГОСТ. В связи с этим реализация библиотеки достаточно сильно завязана на внутреннее устройство самого .NET. И это является основной причиной "тормоза" в переходе на новые версии платформы. Просто так взять исходники, собрать и запустить их под .NET 5+ не получится по указанным причинам. Сборка может и пройдет, но ничего не заработает. Сейчас, да, я худо-бедно стараюсь перевести существующую кодовую базу на .NET 5+.
Пока я могу предложить вам такие варианты на выбор:
- Сделать отдельный микросервис на базе .NET Framework 4.8
- Сделать отдельную консольную утилиту .NET Framework 4.8
Проверку подписи реализовать в рамках отдельной службы или утилиты и обращаться к ним из своего основного приложения (работающего на .NET 5). После выхода обновления вы сможете сделать проверку in-process.
С появлением .NET Core реализация базовых абстракций для работы с криптографией существенно изменилась. Разработчикам .NET нужно было обеспечить работу криптографии на многих платформах (не только Windows). Они отказались от жесткой привязки к Crypto API, беря большую часть работы на себя. При этом для .NET разработчиков ничего не изменилось, поменялись только внутренности. При этом с точки зрения объема и формы предоставляемой функциональности для работы с криптографией ничего не изменилось. Но в этом и суть основной проблемы для данной библиотеки.
Механизмы криптографии в .NET не позволяют (до сих пор) делать какое-либо функциональное расширение. Например, добавить поддержку криптографии по ГОСТ. В связи с этим реализация библиотеки достаточно сильно завязана на внутреннее устройство самого .NET. И это является основной причиной "тормоза" в переходе на новые версии платформы. Просто так взять исходники, собрать и запустить их под .NET 5+ не получится по указанным причинам. Сборка может и пройдет, но ничего не заработает. Сейчас, да, я худо-бедно стараюсь перевести существующую кодовую базу на .NET 5+.
Пока я могу предложить вам такие варианты на выбор:
- Сделать отдельный микросервис на базе .NET Framework 4.8
- Сделать отдельную консольную утилиту .NET Framework 4.8
Проверку подписи реализовать в рамках отдельной службы или утилиты и обращаться к ним из своего основного приложения (работающего на .NET 5). После выхода обновления вы сможете сделать проверку in-process.
Александр, правильно ли я понимаю, что на текущее время единственный вариант встраивания ГОСТ под Linux в .NET 5+ - это форк CoreFX и реализация алгоритмов в нем, как сделали CryptoPro?
@AlexMAS, здравствуйте! Не могли бы вы использовать для реализации на .NET 6 библиотеку OpenGOST?