Статус: Сотрудник
Группы: Участники
Зарегистрирован: 20.02.2017(UTC) Сообщений: 205
Сказал(а) «Спасибо»: 4 раз Поблагодарили: 54 раз в 53 постах
|
Автор: alexT_krd Добрый день. Есть приложение, которое работает в Docker под Linux Ubuntu, написано на netcoreapp3.1 с использованием corefx. Оно выполняет следующий код: using X509Store store = new X509Store(StoreName.Root, StoreLocation.LocalMachine, OpenFlags.ReadWrite); X509Certificate2 cert = new X509Certificate2(byte[]); store.Add(cert); С ним проблем нет, ставятся как сертификаты GOST так и RSA.
Перевёл его на net6.0 и LibCore.Linux.2023.8.9.1.nupkg (КриптоПро CSP 5.0.12900). X509Store изменился на CpX509Store: LibCore.Initializer.Initialize(); CpX509Store store = new CpX509Store(StoreName.Root, StoreLocation.LocalMachine, OpenFlags.ReadWrite); X509Certificate2 cert = new X509Certificate2(byte[]); store.Add(cert); И теперь при установке RSA сертификата получаю следующую ошибку: System.NullReferenceException: Object reference not set to an instance of an object. at LibCore.Internal.Cryptography.Pal.StorePal.Add(ICertificatePal certificate) at LibCore.Security.Cryptography.X509Certificates.CpX509Store.Add(X509Certificate2 certificate) Сертификаты GOST ставятся нормально. В чем может быть проблема? Нужны сертификаты как GOST так и с RSA. Добрый день. В Libcore поддержку RSA провайдеров через CSP пока не реализовывали. Т.е. воспользоваться RSA через провайдер csp сейчас не выйдет. Для RSA должны работать все "родные" сценарии. Если задача установить сертификат для дальнейшего использования: попробуйте установить сертификат в хранилище dotnet'а через dotnet-certificate-tool (https://github.com/gsoft-inc/dotnet-certificate-tool) или любым другим способом (установится именно в родное хранилище дотнета, а не в хранилище csp). Дальше можно будет использовать данное хранилище через X509Store (не CpX509Store) для получения RSA сертификатов. Если задача просто однократно ставить сертификаты в хранилище csp - то сейчас возможно стоит просто вызвать bash скрипт через ProcessStartInfo + Process, который вызовет "certmgr -inst -store <STORE_NAME> -pfx -pin <PIN> -file <путь к файлу с сертификатом>". |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 18.10.2023(UTC) Сообщений: 2 Откуда: Краснодар
|
Задача как раз в том, чтобы через C# ставить много корневых сертификатов как GOST так и с RSA. А потом использовать их. Поэтому вариант с dotnet-certificate-tool не подойдет. Поддержка RSA в Libcore планируется? Отредактировано пользователем 18 октября 2023 г. 17:44:47(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 20.02.2017(UTC) Сообщений: 205
Сказал(а) «Спасибо»: 4 раз Поблагодарили: 54 раз в 53 постах
|
Автор: alexT_krd Задача как раз в том, чтобы через C# ставить много корневых сертификатов как GOST так и с RSA. А потом использовать их. Поэтому вариант с dotnet-certificate-tool не подойдет. Поддержка RSA в Libcore планируется? Планируется, но в среднесрочной перспективе в рамках добавления поддержки 8.0. |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 16.11.2022(UTC) Сообщений: 2
|
Коллеги из КриптоПро, подскажите, с чем связана ошибка "System.PlatformNotSupportedException: Operation is not supported on this platform" при использовании LibCore под Windows? Установлено: 1. Операционная система Windows 10 20H2 (на Windows 11 также проверяли - ошибка воспроизводится). 2. Последняя на текущий момент версия КриптоПро CSP 5.0.12997 (на сертифицированной версии 5.0.12000 также проверяли - ошибка воспроизводится). 3. .NET6 SDK (включая runtime). 4. Последний на текущий момент nuget-пакет LibCore.Windows.2023.8.9.1.nupkg (подключен через %appdata%/NuGet/nuget.config). 5. Создано консольное приложение, целевой фреймворк net6.0 (тег TargetFramework в csproj-файле имеется). 6. В самом начале LibCore.Initializer.Initialize() добавлено. При попытке создать экземпляр хранилища сертификатов в первой же строчке получаем вышеупомянутую ошибку? Цитата:using (var store = new CpX509Store(StoreName.Root, StoreLocation.CurrentUser)) { ... } С чем может быть связана проблема?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 20.02.2017(UTC) Сообщений: 205
Сказал(а) «Спасибо»: 4 раз Поблагодарили: 54 раз в 53 постах
|
Автор: VitalyKrasovsky Коллеги из КриптоПро, подскажите, с чем связана ошибка "System.PlatformNotSupportedException: Operation is not supported on this platform" при использовании LibCore под Windows? Установлено: 1. Операционная система Windows 10 20H2 (на Windows 11 также проверяли - ошибка воспроизводится). 2. Последняя на текущий момент версия КриптоПро CSP 5.0.12997 (на сертифицированной версии 5.0.12000 также проверяли - ошибка воспроизводится). 3. .NET6 SDK (включая runtime). 4. Последний на текущий момент nuget-пакет LibCore.Windows.2023.8.9.1.nupkg (подключен через %appdata%/NuGet/nuget.config). 5. Создано консольное приложение, целевой фреймворк net6.0 (тег TargetFramework в csproj-файле имеется). 6. В самом начале LibCore.Initializer.Initialize() добавлено. При попытке создать экземпляр хранилища сертификатов в первой же строчке получаем вышеупомянутую ошибку? Цитата:using (var store = new CpX509Store(StoreName.Root, StoreLocation.CurrentUser)) { ... } С чем может быть связана проблема? На windows нужно использовать стандартный класс X509Store. |
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close