Closed andrey170183 closed 2 years ago
Здравствуйте. А какая версия .NET?
Делаю на .NET Core 3.1 Кажется проблема в подключении библиотеки из NuGet. GostCryptography подключается с предупреждением: Пакет "GostCryptography 2.0.9" был восстановлен с помощью ".NETFramework,Version=v4.6.1, .NETFramework,Version=v4.6.2, .NETFramework,Version=v4.7, .NETFramework,Version=v4.7.1, .NETFramework,Version=v4.7.2, .NETFramework,Version=v4.8", а не целевой платформы проекта ".NETCoreApp,Version=v3.1". Этот пакет может быть не полностью совместим с вашим проектом.
Да, так и подумал. Последняя доступная на NuGet версия не поддерживает новые версии .NET (имеется ввиду .NET Core, .NET 5+), т.к. в них существенно переработана/переписана функциональность из System.Cryptography
. Переход на .NET 5+ будет со следующей версии библиотеки - 3.0 - сейчас я над этим работаю. Задачу закрываю - уже есть похожая.
Делаю верификацию ЭП — отсоединенную, в формате PKCS#7 по значению хэш-функции
Есть сигнатура отсоединенной подписи и сообщение которую хочу проверить. При проверке на сайте госуслуг проверка проходит успешно.
Код взял из примера
byte[] signature_byte = System.Convert.FromBase64String("MIIcrwYJKoZIhvcNAQc...."); byte[] message = Encoding.UTF8.GetBytes("Hello world");
var signedCms = new GostSignedCms(new ContentInfo(message), true); signedCms.Decode(signature_byte);
try { // Проверка подписи CMS/PKCS#7 signedCms.CheckSignature(true); } catch (Exception exc) { }
При выполнении кода вылетает ошибка с текстом: {"Unknown algorithm '1.2.643.7.1.1.1.1'."} Тестил на компьютерах: С установленной VipNet CSP (4.2.11.58753) и КриптоПро CSP (4.0.9944), так же откомпилированную версию на компьютере только с КриптоПро CSP версии 4.0.9963 (Установлен КриптоПро.NET Сервер версия 1.0.7775.0, КриптоПро.NET SDK версия 1.0.7775.0) Выходит аналогичная ошибка.
Подскажите в чем может быть проблема?