Статус: Новичок
Группы: Участники
Зарегистрирован: 02.05.2023(UTC) Сообщений: 4 Откуда: Сургут
|
Добрый день! Дано: КриптоПро CSP версии 5.0.11455, обновляли до 5.0.12000. КриптоПро .NET последней версии. Windows 10 x64 обновлена до 22Н2 сборка 19045.2846 Проект на .NET Core Web (версии 3.1.3) на основе DotnetCoreSampleProject. Эталонный проект получилось собрать и запустить, а наш - только на 1 компьютере, на остальных нет. Симптомы: сертификат с закрытым ключом находится, свойство .HasPrivateKey==true, само .PrivateKey даёт System.NotSupportedException: The certificate key algorithm is not supported.. Нашёл в каком-то примере, что закрытый ключ можно задать через KeyInfo.AddClause. Но если для SignedXml не указать свойство SigningKey, то ComputeSignature завершается с исключением "Signing key is not loaded." new System.Security.Cryptography.Gost3410_2012_256CryptoServiceProvider() завершается с исключением "Could not load type 'System.Security.Cryptography.Gost3410_2012_256CryptoServiceProvider' from assembly 'System.Security.Cryptography.Csp, Version=4.1.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'." new CryptoPro.Sharpei.Gost3410_2012_256CryptoServiceProvider() завершается с исключением "Could not load file or assembly 'CryptoPro.Sharpei.CorLib, Version=1.4.0.11, Culture=neutral, PublicKeyToken=473b8c5086e795f5'. Не удается найти указанный файл." Испробовано много чего, переустановка КриптоПро CSP, со службой ключей, netstandard из репозитория КриптоПро, .NET SDK нескольких версий (runtime 3.1.3 и указан явно). В какую сторону дальше копнуть?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 20.02.2017(UTC) Сообщений: 217
Сказал(а) «Спасибо»: 4 раз Поблагодарили: 63 раз в 59 постах
|
Добрый день. Если тестовый проект работает, а другие нет - значит что то не так в других проектах. Как я понимаю, речь идёт про форк corefx. Рекомендуемая версия csp - текущий релиз. На момент написания это 12600. В более ранних возможны ошибки, связанные с отсутствием нужной функциональности в csp для рядов сценариев использования. Ваша ошибка, похоже, не связана с версией csp, но, возможно, ошибки связанные с ней могут появиться позднее, как только победите данную. Особых советов, кроме как ещё раз внимательно прочитать инструкцию к DotnetCoreSampleProject и выполнить именно те действия, которые там написаны нет. Важно устанавливать именно указанные версии sdk и runtime, указать все необходимые свойства в csproj (включая ссылку на пакет рантайма), использовать только self-contained сборку. Пример csproj есть и в инструкции, и в репозитории тестового проекта. Также замечу, что одного установленного netstandard не достаточно, нужно ещё и установить пакет самого рантайма, как указано в инструкции. Криптопро.NET при использовании в core 3.1 не нужен, он работает только в .net Framework до версии 4.8 включительно. Если вам не принципиален core 3.1 - можете попробовать решение для core 6.0, в нём сборка и использование сделано намного легче - https://github.com/CryptoPro/libcore |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 02.05.2023(UTC) Сообщений: 4 Откуда: Сургут
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 20.02.2017(UTC) Сообщений: 217
Сказал(а) «Спасибо»: 4 раз Поблагодарили: 63 раз в 59 постах
|
Автор: Антон Тверетин Если под "КриптоПро сборки и классы" - вы имеете в виду сборки продукта КриптоПро.NET - то да. Это отдельный продукт только для .NET Framework. По поводу той ошибки, на которую вы указываете, то её наличие можно проверить следующим образом - если вы можете скомпилировать код, в котором присутствует, например Gost3410_2012_256CryptoServiceProvider, но в рантайме получаете ошибку о том, что данный тип не найден - тогда это она, и надо смотреть установленные версии рантайма и sdk. Если у вас ошибка при сборке - это иной тип ошибки. |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 02.05.2023(UTC) Сообщений: 4 Откуда: Сургут
|
Да, ошибка в рантайме. Удалось справиться, сделав сборку self-contained. Поскольку проект - Web-служба, а не .exe, вот и пришлось несколько часов поплясать с бубном. Спасибо.
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close