Статус: Сотрудник
Группы: Участники
Зарегистрирован: 20.02.2017(UTC) Сообщений: 217
Сказал(а) «Спасибо»: 4 раз Поблагодарили: 63 раз в 59 постах
|
Автор: Anton G Добрый день! Собрали тестовый проект - https://github.com/Crypt.../DotnetCoreSampleProjectВсё отлично работает. Создали свой проект (Веб-API Core, платформа .NET Core 3.1) по указанной инструкции для win. Добавили все сборки и пакеты, внесли изменения в .csproj - https://skr.sh/sDzkWZEl5bcЗапускаем также, как и DotnetCoreSampleProject на Win10 + IIS (Также пробовали c Docker, Linux контейнер) и получаем одну и ту же ошибку - Method not found: 'System.Security.Cryptography.HashAlgorithmName System.Security.Cryptography.HashAlgorithmName.get_Gost3411_2012_256()'При вызове signedCms.CheckSignature(certCollection, verifySignatureOnly); p.s. В DotnetCoreSampleProject данный метод успешно отрабатывает с переданными файлами. Для iis ожидается работа только в out of process. https://docs.microsoft.c...ting?view=aspnetcore-6.0Для докера + Linux не вижу особых проблем, почему может не работать, если работает в рамках тестового проекта. Проверьте ещё раз, что в контейнере корректно установлены и используются netstandard, как указанно в инструкции, происходит сборка self-contained для linux-x64. Вроде ранее в данной ветке выкладывали некоторые Dockerfile. |
|
1 пользователь поблагодарил Артём Макаров за этот пост.
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 17.05.2022(UTC) Сообщений: 2 Откуда: Москва Сказал(а) «Спасибо»: 1 раз
|
После обновления в Windows 10 "Накопительное обновление от 10 мая 2022 г. до KB5013624 для платформа .NET Framework 3.5 и 4.8 для Windows 10, версии 20H2, Windows Server, версии 20H2, Windows 10 версии 21H1 и Windows 10 версии 21H2" Перестал работать .Net - Алгоритм ключа сертификата не поддерживается. Какая-то не совместимость с CLR... Версии CSP 5.0.12417 .Net Клиент 1.0.7775.0 В логе osinfo при каждом запуске приложения идет <entry type="Error" date="13.05.2022" time="09:52:01" source="CPNetDetours45" categoty="Init/Done CLR" event="5">Uncatched patch initialization error. Error code: 0xe06d7363. </entry> osinfo.xml (208kb) загружен 1 раз(а).Отредактировано пользователем 17 мая 2022 г. 21:45:27(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,393 Откуда: КРИПТО-ПРО Сказал «Спасибо»: 37 раз Поблагодарили: 716 раз в 621 постах
|
|
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,393 Откуда: КРИПТО-ПРО Сказал «Спасибо»: 37 раз Поблагодарили: 716 раз в 621 постах
|
|
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 11.05.2022(UTC) Сообщений: 5 Откуда: Ижевск Сказал(а) «Спасибо»: 3 раз
|
Автор: Санчир Момолдаев Автор: Владимир Сид В текущей ситуации в мире стоит надеяться на выход под .Net6 ? Да Подскажите, пожалуйста, а когда примерно можно ожидать пример под .net 6.0?
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 16.09.2020(UTC) Сообщений: 14 Сказал(а) «Спасибо»: 3 раз
|
Здравствуйте, необходима помощь :( На linux не собирается следующий код: Код:
using var cert = new X509Certificate2(File.ReadAllBytes(keyPath), keyPassword, X509KeyStorageFlags.CspNoPersistKeySet);
var key = certificate.PrivateKey as Gost3410_2012_256CryptoServiceProvider;
var signedXml = new SignedXml(xmlDoc) { SigningKey = (AsymmetricAlgorithm)key };
var reference = new Reference { Uri = "", DigestMethod = SignedXml.XmlDsigGost3411_2012_256Url };
signedXml.AddReference(reference);
signedXml.ComputeSignature();
при сборке выдает ошибку Цитата:error CS0117: 'SignedXml' does not contain a definition for 'XmlDsigGost3411_2012_256Url' если поменять DigestMethod на SignedXml.XmlDsigSHA1Url собирается нормально, ключ читает, но при подписи выдает Цитата:Failed to create signing key at System.Security.Cryptography.Xml.SignedXml.ComputeSignature() System.Security.Cryptography.Xml.dll по указанному в проекте пути лежит. Gost3411_2012_256CryptoServiceProvider и Gost3410_2012_256CryptoServiceProvider работают на этой же сборке
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 20.02.2017(UTC) Сообщений: 217
Сказал(а) «Спасибо»: 4 раз Поблагодарили: 63 раз в 59 постах
|
Автор: DarkShark Здравствуйте, необходима помощь :( На linux не собирается следующий код: Код:
using var cert = new X509Certificate2(File.ReadAllBytes(keyPath), keyPassword, X509KeyStorageFlags.CspNoPersistKeySet);
var key = certificate.PrivateKey as Gost3410_2012_256CryptoServiceProvider;
var signedXml = new SignedXml(xmlDoc) { SigningKey = (AsymmetricAlgorithm)key };
var reference = new Reference { Uri = "", DigestMethod = SignedXml.XmlDsigGost3411_2012_256Url };
signedXml.AddReference(reference);
signedXml.ComputeSignature();
при сборке выдает ошибку Цитата:error CS0117: 'SignedXml' does not contain a definition for 'XmlDsigGost3411_2012_256Url' если поменять DigestMethod на SignedXml.XmlDsigSHA1Url собирается нормально, ключ читает, но при подписи выдает Цитата:Failed to create signing key at System.Security.Cryptography.Xml.SignedXml.ComputeSignature() System.Security.Cryptography.Xml.dll по указанному в проекте пути лежит. Gost3411_2012_256CryptoServiceProvider и Gost3410_2012_256CryptoServiceProvider работают на этой же сборке Видимо по какой то причине подтягивает родной, а не модифицированный SignedXml. Проверьте, что ссылается именно на модифицированную сборку и нет ссылок на родной Xml и его пакет. Можно посмотреть на проект примера https://github.com/Crypt.../DotnetCoreSampleProject который точно собирается и работает, если следовать инструкции, ещё раз внимательно проверить пути и версии. |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 16.09.2020(UTC) Сообщений: 14 Сказал(а) «Спасибо»: 3 раз
|
Цитата:Видимо по какой то причине подтягивает родной, а не модифицированный SignedXml. Проверьте, что ссылается именно на модифицированную сборку и нет ссылок на родной Xml и его пакет. Можно посмотреть на проект примера https://github.com/Crypt.../DotnetCoreSampleProject который точно собирается и работает, если следовать инструкции, ещё раз внимательно проверить пути и версии. Спасибо за ответ. В том то и дело, что проект примера собирается и работает на той же машине. Ладно, будем искать...
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 11.04.2017(UTC) Сообщений: 25
Сказал(а) «Спасибо»: 1 раз
|
Всем доброго дня!
Вопрос касательно данной темы, а именно, надо ли добавлять ссылку на пакет System.Security.Cryptography.X509Certificates из пропатченнкого вами CoreFx для работы с сертификатами содержащими ссылки на гостовые алгоритмы? В Вашем описании добавлены только две сборки, видимо, только для работы тестового примера. В моем коде перед подписыванием cms выполняется инстанциация объекта типа X509Certificate2 по файлу сертификата. Сама инстанциация выполняется нормально. Но при попытке подписи и передаче сертификата в качестве сертификата подписанта происходит ошибка: System.Security.Cryptography.CryptographicException: Could not determine signature algorithm for the signer certificate.
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 11.04.2017(UTC) Сообщений: 25
Сказал(а) «Спасибо»: 1 раз
|
Автор: Андрей Врагов Всем доброго дня!
Вопрос касательно данной темы, а именно, надо ли добавлять ссылку на пакет System.Security.Cryptography.X509Certificates из пропатченнкого вами CoreFx для работы с сертификатами содержащими ссылки на гостовые алгоритмы? В Вашем описании добавлены только две сборки, видимо, только для работы тестового примера. В моем коде перед подписыванием cms выполняется инстанциация объекта типа X509Certificate2 по файлу сертификата. Сама инстанциация выполняется нормально. Но при попытке подписи и передаче сертификата в качестве сертификата подписанта происходит ошибка: System.Security.Cryptography.CryptographicException: Could not determine signature algorithm for the signer certificate.
Отбой. Сам виноват. Серт в хранилище был не связан с контейнером. Просто смутило сообщение об ошибке. В трассировке же дошел до сути причины. Собственно проблему можно было выявить еще на стадии инстанциации объекта типа серт. Свойство HasPrivateKey имело значение false. Всем спасибо.
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close