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

Уведомление

Icon
Error

35 Страницы«<333435
Опции
К последнему сообщению К первому непрочитанному
Offline Артём Макаров  
#341 Оставлено : 18 октября 2023 г. 17:20:53(UTC)
Артём Макаров

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

Группы: Участники
Зарегистрирован: 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 <путь к файлу с сертификатом>".
Техническую поддержку оказываем тут
Наша база знаний
Offline alexT_krd  
#342 Оставлено : 18 октября 2023 г. 17:43:55(UTC)
alexT_krd

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

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

Задача как раз в том, чтобы через C# ставить много корневых сертификатов как GOST так и с RSA. А потом использовать их. Поэтому вариант с dotnet-certificate-tool не подойдет. Поддержка RSA в Libcore планируется?

Отредактировано пользователем 18 октября 2023 г. 17:44:47(UTC)  | Причина: Не указана

Offline Артём Макаров  
#343 Оставлено : 19 октября 2023 г. 8:27:14(UTC)
Артём Макаров

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

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

Сказал(а) «Спасибо»: 4 раз
Поблагодарили: 54 раз в 53 постах
Автор: alexT_krd Перейти к цитате
Задача как раз в том, чтобы через C# ставить много корневых сертификатов как GOST так и с RSA. А потом использовать их. Поэтому вариант с dotnet-certificate-tool не подойдет. Поддержка RSA в Libcore планируется?


Планируется, но в среднесрочной перспективе в рамках добавления поддержки 8.0.
Техническую поддержку оказываем тут
Наша база знаний
Offline VitalyKrasovsky  
#344 Оставлено : 20 ноября 2023 г. 15:35:17(UTC)
VitalyKrasovsky

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

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


С чем может быть связана проблема?
Offline Артём Макаров  
#345 Оставлено : 20 ноября 2023 г. 15:37:49(UTC)
Артём Макаров

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

Группы: Участники
Зарегистрирован: 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.
Техническую поддержку оказываем тут
Наша база знаний
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
35 Страницы«<333435
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.