Статус: Новичок
Группы: Участники
Зарегистрирован: 02.06.2020(UTC) Сообщений: 3 Откуда: Москва
Сказал(а) «Спасибо»: 1 раз
|
Здравствуйте. В Crypto Pro 5 заявлены новые функции работы с ключами rutoken. Подскажи пожалуйста как найти такие сертификаты с помощью библиотеки Net
Сертификаты экспортируются примерно в таком виде.
имя 68b3d11fd229f0ddabfacaadfdd4fd уникальное имя SCARD\rutoken_pkcs_39177de4\68b3d11fd229f0ddabfa FQCN имя \\.\Aktiv Rutoken ECP 0\68b3d11fd229f0ddabfacaadfdd4fd ..... имя сертификата Компания РК .....
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 02.06.2020(UTC) Сообщений: 3 Откуда: Москва
Сказал(а) «Спасибо»: 1 раз
|
Добрый день Сертификат поиском найти получилось подскажите пожалуйста как с его помощью получить подпись документа 1. Попытка 1 public string SignText(string input) { byte[] сontext = Encoding.UTF8.GetBytes(input); ContentInfo сontentInfo = new ContentInfo(сontext); SignedCms signedCms = new SignedCms(сontentInfo, true); CmsSigner signer = new CmsSigner(Certificate); signedCms.ComputeSignature(signer); byte[] sign = signedCms.Encode(); return Convert.ToBase64String(sign); } System.Security.Cryptography.CryptographicException: Не удается построить цепочку сертификатов для доверенного корневого центра.
2 Попытка 2 public string SignTextEx(string input) { CspParameters cp = new CspParameters(); cp.KeyContainerName = Certificate.FriendlyName; Gost3410CryptoServiceProvider gost = new Gost3410CryptoServiceProvider(cp); GostSignatureFormatter GostFormatter = new GostSignatureFormatter(gost); GostSignatureDeformatter GostDeformatter = new GostSignatureDeformatter(gost); byte[] HashValue = Encoding.UTF8.GetBytes(input); byte[] SignedHashValue = GostFormatter.CreateSignature(HashValue); return Convert.ToBase64String(SignedHashValue);
} System.Security.Cryptography.CryptographicException: Указанный поставщик криптографических услуг (Cryptographic Service Provider, CSP) не поддерживает данный алгоритм ключей.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,514   Сказал «Спасибо»: 554 раз Поблагодарили: 2252 раз в 1757 постах
|
Здравствуйте. Установите корневой сертификат в хранилище. В КриптоПРО.NET SDK есть примеры. Цитата: cp.KeyContainerName = Certificate.FriendlyName;
В FriendlyName содержится... имя контейнера для CSP? |
|
 1 пользователь поблагодарил Андрей * за этот пост.
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,514   Сказал «Спасибо»: 554 раз Поблагодарили: 2252 раз в 1757 постах
|
Автор: Илья200602  2 Попытка 2 public string SignTextEx(string input) { CspParameters cp = new CspParameters(); cp.KeyContainerName = Certificate.FriendlyName; Gost3410CryptoServiceProvider gost = new Gost3410CryptoServiceProvider(cp); GostSignatureFormatter GostFormatter = new GostSignatureFormatter(gost); GostSignatureDeformatter GostDeformatter = new GostSignatureDeformatter(gost); byte[] HashValue = Encoding.UTF8.GetBytes(input); byte[] SignedHashValue = GostFormatter.CreateSignature(HashValue); return Convert.ToBase64String(SignedHashValue);
} System.Security.Cryptography.CryptographicException: Указанный поставщик криптографических услуг (Cryptographic Service Provider, CSP) не поддерживает данный алгоритм ключей. У Вас ключи по ГОСТ 2012, а обращаетесь к CSP, который с ними не работает. |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 02.06.2020(UTC) Сообщений: 3 Откуда: Москва
Сказал(а) «Спасибо»: 1 раз
|
Автор: Андрей *  Здравствуйте. Установите корневой сертификат в хранилище. В КриптоПРО.NET SDK есть примеры. Цитата: cp.KeyContainerName = Certificate.FriendlyName;
В FriendlyName содержится... имя контейнера для CSP? Спасибо установка корневого сертификата помогла. (Вариант 1 заработал) Да в френдли нейм записал имя контейнера - В принципе это удобно. И там и там по русски.
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close