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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline FaridNet  
#1 Оставлено : 12 января 2023 г. 10:59:05(UTC)
FaridNet

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

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

Сказал(а) «Спасибо»: 4 раз
Добрый день.
Есть ли возможность установки pfx сертификатов с помощью libcore (https://github.com/CryptoPro/libcore) в хранилище сертификатов?
Версия: LibCore 2022.12.15.1
Сертифицированная версия КриптоПро CSP 5.0.12000 (Kraken) от 24.11.2020.
Windows 10

Через certmgr сертификат ставится без ошибок.
certmgr.exe -install -store mMy -file "TestUser23.pfx" -pfx -silent -pin 123

В проекте .net запукаю следующий код.
public static void InstallCert()
{
using var certificate = X509CertificateExtensions.Create(@$"D:\temp\TestUser23.pfx", "123", CpX509KeyStorageFlags.CspNoPersistKeySet);

var provider =
new Gost3410_2012_256CryptoServiceProvider(
new CspParameters()
{
Flags = CspProviderFlags.NoPrompt,
KeyContainerName = $"\\\\.\\HDImage\\0000_test_{Guid.NewGuid()}",
ProviderName = "Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider",
ProviderType = 80,
KeyPassword = new SecureString(),
KeyNumber = 12345678
});

using var store = new X509Store(StoreName.My, StoreLocation.CurrentUser);
store.Open(OpenFlags.ReadWrite);
certificate.PrivateKey = provider;
store.Add(certificate);
store.Close();
}
}

Exception:
LibCore.Internal.Cryptography.CryptoThrowHelper.WindowsCryptographicException
HResult=0x80090009
Message=Указаны неправильные флаги.
Source=LibCore.Security.Cryptography.Csp
StackTrace:
at LibCore.Internal.NativeCrypto.CapiHelper.GenerateKey(SafeProvHandle safeProvHandle, Int32 algID, Int32 flags, UInt32 keySize, SafeKeyHandle& safeKeyHandle)
at LibCore.Internal.NativeCrypto.CapiHelper.GetKeyPairHelper(CspAlgorithmType keyType, CspParameters parameters, Int32 keySize, SafeProvHandle safeProvHandle)
at LibCore.Security.Cryptography.Gost3410_2012_256CryptoServiceProvider.get_SafeKeyHandle()
at LibCore.Security.Cryptography.Gost3410_2012_256CryptoServiceProvider.GetKeyPair()
at LibCore.Security.Cryptography.Gost3410_2012_256CryptoServiceProvider..ctor(CspParameters parameters)
at CryptoProLibCore.CryptoProLibHelper.InstallCert()



Offline Артём Макаров  
#2 Оставлено : 12 января 2023 г. 14:11:04(UTC)
Артём Макаров

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

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

Сказал(а) «Спасибо»: 4 раз
Поблагодарили: 63 раз в 59 постах
Добрый день.

В настоящий момент установка в хранилище в LibCore не поддерживается.

Пока что не в приоритете.

В настоящий момент - если только делать с использованием P\Invoke CSP через экспорт\импорт закрытого ключа сертификата в новый контейнер, затем привязка сертификата к установленному контейнеру и установкой самого сертификата в хранилище.
Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Артём Макаров за этот пост.
FaridNet оставлено 12.01.2023(UTC)
Offline stank12  
#3 Оставлено : 31 марта 2023 г. 10:25:31(UTC)
stank12

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

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

Как скоро планируется добавление функционала установки сертификата в хранилище в libcore?
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.