Статус: Новичок
Группы: Участники
Зарегистрирован: 15.03.2021(UTC) Сообщений: 7 Откуда: Рязань Сказал(а) «Спасибо»: 2 раз
|
Эх, надеюсь разработчики на нас не забили, ибо стучаться бедолагам некуда больше) Подскажите, как можно установить Gost28147CryptoServiceProvider.CipherOid? Получаю неверное количество байт при шифровании сессионного ключа, наткнулся на данный пост: http://www.cryptopro.ru/...&m=111050#post111050Однако, у меня этого поля не имеется. Спасибо. Upd: эм.. залез в проект исходников модифицированного corefx, в Gost28147CryptoServiceProvider, а там поле уже есть. (я уж думал придется делать по аналогии с Framework). Попробуем пересобрать под актуальные исходники. Спасибо ^_^ Отредактировано пользователем 14 апреля 2021 г. 11:49:14(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 20.02.2017(UTC) Сообщений: 217
Сказал(а) «Спасибо»: 4 раз Поблагодарили: 63 раз в 59 постах
|
Автор: OFFOSORG Здравствуйте! Подскажите, пожалуйста, способ шифрования подписанного XML с использованием вашего CSP на Core. Необходимо создать сессионный ключ и зашифровать некоторые данные XML и сам ключ. Возможно у вас найдется какой-нибудь пример? Это бы очень облегчило жизнь) Ниже на всякий случай приведу указанные алгоритмы. Шифрование ключа по ГОСТ 2012-256: urn:ietf:params:xml:ns:cpxmlsec:algorithms:transport-gost2012-256 Шифрование данных: urn:ietf:params:xml:ns:cpxmlsec:algorithms:gost28147 Спасибо! PS: с шифрованием ранее не сталкивался, поэтому если я что не так написал, прошу меня понять и простить) Upd: Нашел некий пример шифрования на Framework по своей задаче. Классы там более менее те же, (без "CP"). http://www.cryptopro.ru/...&m=111050#post111050Взаимодействие с контейнером CSP происходит. Значит механизм рабочий. Но если вдруг пример у кого нибудь есть, поделитесь пожалуйста. Спасибо! Примеры во многом аналогичны примерам из КриптоПро.Net, входящими в состав sdk. Можно скачать КриптоПро.Net SDK и посмотреть примеры оттуда, при необходимости адаптировать. https://cpdn.cryptopro.r...af-972a-28c1f6239b0a.htmhttps://www.cryptopro.ru/products/net/downloads |
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 20.02.2017(UTC) Сообщений: 217
Сказал(а) «Спасибо»: 4 раз Поблагодарили: 63 раз в 59 постах
|
Автор: Сергей Сивов Прошу помощи по работе с проверкой цифровой подписи. Установлены Инструменты КриптоПРО. При помощи инструментов КриптоПРО создан сертификат Алгоритм подписи : ГОСТ Р 34.11/34.10-2001 Алгоритм откр. кл. : ГОСТ Р 34.10-2012 256 бит (512 бит) При помощи этого сертификата подписан файл File, получена подпись File.p7s Сертификат экспортирован в файл. Используя DotnetSampleProject подгружаем Сертификат, файл и файл подписи. Проверяем подпись - подпись не валидна. Код:var hash = HashAlgorithmName.Gost3411_2012_256;
var gostPk = gostCert.GetGost3410_2012_256PublicKey();
var dataValidationResult = gostPk.VerifyData(file, signedFile, hash);
dataValidationResult - false Судя по расширению файла с ненулевой вероятностью у вас CMS подпись. Попробуйте уточнить формат проверяемой подписи, в случае CMS смотрите в сторону классов SignedCms. |
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 20.02.2017(UTC) Сообщений: 217
Сказал(а) «Спасибо»: 4 раз Поблагодарили: 63 раз в 59 постах
|
|
|
1 пользователь поблагодарил Артём Макаров за этот пост.
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 12.04.2021(UTC) Сообщений: 5 Откуда: Нижний Новгород
|
Добрый день. Добавил в MVC проект модуль проверки подписи. В main(), если вызывается функция проверки подписи - она отрабатывает нормально, но как только MVC пытается отрисовать страницу вылетает ошибка "Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Тип "Attribute" определен в сборке, на которую нет ссылки. Следует добавить ссылку на сборку "System.Private.CoreLib... Код:One or more compilation failures occurred:
ebgnbxey.t4r(4,55): error CS0012: Тип "Attribute" определен в сборке, на которую нет ссылки. Следует добавить ссылку на сборку "System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e".
ebgnbxey.t4r(4,82): error CS0518: Предопределенный тип "System.Type" не определен или не импортирован
ebgnbxey.t4r(4,129): error CS0518: Предопределенный тип "System.String" не определен или не импортирован
ebgnbxey.t4r(4,146): error CS0518: Предопределенный тип "System.String" не определен или не импортирован
ebgnbxey.t4r(4,12): error CS0518: Предопределенный тип "System.Void" не определен или не импортирован
ebgnbxey.t4r(36,49): error CS0012: Тип "Attribute" определен в сборке, на которую нет ссылки. Следует добавить ссылку на сборку "System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e"....
at Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation.RuntimeViewCompiler.CompileAndEmit(RazorCodeDocument codeDocument, String generatedCode)
at Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation.RuntimeViewCompiler.CompileAndEmit(String relativePath)
at Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation.RuntimeViewCompiler.OnCacheMiss(String normalizedPath)
--- End of stack trace from previous location ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
at Microsoft.AspNetCore.Mvc.Razor.Compilation.DefaultRazorPageFactoryProvider.CreateFactory(String relativePath)
at Microsoft.AspNetCore.Mvc.Razor.RazorViewEngine.CreateCacheResult(HashSet`1 expirationTokens, String relativePath, Boolean isMainPage)
Без добавленного модуля страницы грузятся и работают нормально. Есть понимание, как подружить КриптоПРО, CoreFx и MVC ?
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 29.04.2021(UTC) Сообщений: 13 Сказал(а) «Спасибо»: 2 раз
|
Автор: Артём Макаров Столкнулся с такой же проблемой. Подскажите, где взять актуальную сборку. На гитхабе последний релиз v3.1.1-cprocsp-preview4.325 от 4 февраля :(
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 29.04.2021(UTC) Сообщений: 13 Сказал(а) «Спасибо»: 2 раз
|
Есть ли возможность использовать библиотеку в проекте на NET5? В проектах на net5 все компилируется, но при выполнении выбрасывается Цитата:System.TypeLoadException HResult=0x80131522 Сообщение = Could not load type 'System.Security.Cryptography.Gost3410CryptoServiceProvider' from assembly 'System.Security.Cryptography.Csp, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. Источник = System.Security.Cryptography.Pkcs Трассировка стека: at System.Security.Cryptography.Pkcs.CmsSigner..ctor(SubjectIdentifierType signerIdentifierType, X509Certificate2 certificate, AsymmetricAlgorithm privateKey) in C:\projects\corefx\src\System.Security.Cryptography.Pkcs\src\System\Security\Cryptography\Pkcs\CmsSigner.cs:line 116
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 29.04.2021(UTC) Сообщений: 15
|
Автор: DarkShark Добрый день, Проблема с TLS :( при реализации через HttpClient Код:
var clientHandler = new HttpClientHandler();
clientHandler.ClientCertificates.Add(x509Certificate2);
var client = new HttpClient(clientHandler);
var response = client.PostAsync(url, content).Result;
ошибка Цитата: ---> System.Net.Http.HttpRequestException: The SSL connection could not be established, see inner exception. ---> System.ComponentModel.Win32Exception (0x80090308): The token supplied to the function is invalid at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw(Exception source) at System.Net.Security.SecureChannel.CreateFatalHandshakeAlertToken(SslPolicyErrors sslPolicyErrors, X509Chain chain) at System.Net.Security.SecureChannel.VerifyRemoteCertificate(RemoteCertValidationCallback remoteCertValidationCallback, ProtocolToken& alertToken) at System.Net.Security.SslStream.CompleteHandshake(ProtocolToken& alertToken) ...
Падала такая же ошибка при тестировании на тестовой ЕСИА, WebRequest не помог, в итоге через Rider дебажил внутрянку проверки SSL в .NET, нашел ошибку, не хватало одного корневого сертификата. У одного из сертификатов с тестовой ЕСИА был статус "A certificate chain processed, but terminated in a root certificate which is not trusted by the trust provider." CN сертификата был "Тестовый УЦ РТК". Искал этот сертификат у себя, не нашел, пошел в хром на тестовую ЕСИА, тоже таких нет. Решил зайти через IE и о чудо, выдал мне ошибку, что мол сайт небезопасный, посмотрел сертификаты, там он и был. Оставалось скачать и установить в папку "Trusted Root Certification Authorities" с сертификатами. Инструкции по скачиванию сертификатов из IE все старые, так сейчас не работает. Нашел ответ, что можно скачать через EDGE (pre-chromium). Сидел с этим вопросом несколько дней, может кому-то поможет мой ответ. Если бы не Rider, кто знает сколько бы еще времени ушло. Есть еще один способ, создавать HttpClientHandler, у него есть свойство HttpClientHandler.ServerCertificateCustomValidationCallback, инициализируем его каким-нибудь Func, реализуем свою логику, где надо возвращаем true, далее создаем HttpClient и передаем ему в конструктор этот handler, но для прода это небезопасно, поэтому лучше не использовать. Отредактировано пользователем 6 мая 2021 г. 1:20:30(UTC)
| Причина: Не указана
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 16.09.2020(UTC) Сообщений: 14 Сказал(а) «Спасибо»: 3 раз
|
Автор: Артём Макаров Да, шифрование пока только симметричное для 28147-89 через соответствующий класс. Асимметричное в ближайших планах. Добрый день, не появилось ли асимметричное шифрование ?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 20.02.2017(UTC) Сообщений: 217
Сказал(а) «Спасибо»: 4 раз Поблагодарили: 63 раз в 59 постах
|
В последнем доступном релизе уже есть. |
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close