Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

36 Страницы«<2223242526>»
Опции
К последнему сообщению К первому непрочитанному
Offline Артём Макаров  
#231 Оставлено : 17 мая 2022 г. 12:00:40(UTC)
Артём Макаров

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 20.02.2017(UTC)
Сообщений: 216

Сказал(а) «Спасибо»: 4 раз
Поблагодарили: 62 раз в 58 постах
Автор: 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.
Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Артём Макаров за этот пост.
Anton G оставлено 17.05.2022(UTC)
Offline AlexeyK_Rex400  
#232 Оставлено : 17 мая 2022 г. 21:42:47(UTC)
AlexeyK_Rex400

Статус: Новичок

Группы: Участники
Зарегистрирован: 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)  | Причина: Не указана

Offline Максим Коллегин  
#233 Оставлено : 17 мая 2022 г. 22:30:44(UTC)
Максим Коллегин

Статус: Сотрудник

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,391
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 37 раз
Поблагодарили: 715 раз в 620 постах
Спасибо, посмотрим.
Знания в базе знаний, поддержка в техподдержке
Offline Максим Коллегин  
#234 Оставлено : 19 мая 2022 г. 11:05:37(UTC)
Максим Коллегин

Статус: Сотрудник

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,391
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 37 раз
Поблагодарили: 715 раз в 620 постах
Выложили обновленную версию КриптоПро .NET
Знания в базе знаний, поддержка в техподдержке
Offline Anton G  
#235 Оставлено : 19 мая 2022 г. 15:47:54(UTC)
Anton G

Статус: Новичок

Группы: Участники
Зарегистрирован: 11.05.2022(UTC)
Сообщений: 5
Российская Федерация
Откуда: Ижевск

Сказал(а) «Спасибо»: 3 раз
Автор: Санчир Момолдаев Перейти к цитате
Автор: Владимир Сид Перейти к цитате
В текущей ситуации в мире стоит надеяться на выход под .Net6 ?


Да


Подскажите, пожалуйста, а когда примерно можно ожидать пример под .net 6.0?
Offline DarkShark  
#236 Оставлено : 6 июля 2022 г. 19:43:56(UTC)
DarkShark

Статус: Участник

Группы: Участники
Зарегистрирован: 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 работают на этой же сборке


Offline Артём Макаров  
#237 Оставлено : 6 июля 2022 г. 21:33:54(UTC)
Артём Макаров

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 20.02.2017(UTC)
Сообщений: 216

Сказал(а) «Спасибо»: 4 раз
Поблагодарили: 62 раз в 58 постах
Автор: 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 который точно собирается и работает, если следовать инструкции,
ещё раз внимательно проверить пути и версии.
Техническую поддержку оказываем тут
Наша база знаний
Offline DarkShark  
#238 Оставлено : 7 июля 2022 г. 10:06:13(UTC)
DarkShark

Статус: Участник

Группы: Участники
Зарегистрирован: 16.09.2020(UTC)
Сообщений: 14
Российская Федерация

Сказал(а) «Спасибо»: 3 раз
Цитата:
Видимо по какой то причине подтягивает родной, а не модифицированный SignedXml. Проверьте, что ссылается именно на модифицированную сборку и нет ссылок на родной Xml и его пакет.
Можно посмотреть на проект примера https://github.com/Crypt.../DotnetCoreSampleProject который точно собирается и работает, если следовать инструкции,
ещё раз внимательно проверить пути и версии.

Спасибо за ответ.
В том то и дело, что проект примера собирается и работает на той же машине.
Ладно, будем искать...
Offline Андрей Врагов  
#239 Оставлено : 12 августа 2022 г. 11:24:15(UTC)
Андрей Врагов

Статус: Участник

Группы: Участники
Зарегистрирован: 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.
Offline Андрей Врагов  
#240 Оставлено : 12 августа 2022 г. 13:20:40(UTC)
Андрей Врагов

Статус: Участник

Группы: Участники
Зарегистрирован: 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.

Всем спасибо.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest (3)
36 Страницы«<2223242526>»
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.