Статус: Активный участник
Группы: Участники
Зарегистрирован: 22.12.2021(UTC) Сообщений: 36 Сказал(а) «Спасибо»: 5 раз
|
Добрый день! Есть необходимость генерации ключей и составления запроса на сертификат. Не нашёл таких примеров в .net sdk. В папке с SDK есть очень старый пример. Но он использует библиотеки, которые отсутствуют после установки Крипто ПРО .NET sdk и Crypto PRO CSP SDK. Подскажите, пожалуйста, какие библиотеки можно использовать для создания запросов. По возможности, дайте пример, пожауйста
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,393 Откуда: КРИПТО-ПРО Сказал «Спасибо»: 37 раз Поблагодарили: 717 раз в 621 постах
|
|
|
1 пользователь поблагодарил Максим Коллегин за этот пост.
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 05.07.2018(UTC) Сообщений: 467
Сказал(а) «Спасибо»: 43 раз Поблагодарили: 69 раз в 61 постах
|
|
|
1 пользователь поблагодарил TolikTipaTut1 за этот пост.
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 22.12.2021(UTC) Сообщений: 36 Сказал(а) «Спасибо»: 5 раз
|
Автор: TolikTipaTut1 Не уверен, но возможно подойдет BoucnyCastle для составления непосредственно самого запроса. Подписывать уже можно средствами КриптоПро (метод SignHash(), например). Я так создавал запросы на сертификат с BoucnyCastle: Код:var secureRandom = new SecureRandom();
ECPrivateKeyParameters prk = (ECPrivateKeyParameters)ReadPemObject("prk.pem");
ECPublicKeyParameters pbk = (ECPublicKeyParameters)ReadPemObject("pbk.pem");
X509ExtensionsGenerator extGen = new X509ExtensionsGenerator();
extGen.AddExtension(X509Extensions.KeyUsage, true, new KeyUsage(240));
extGen.AddExtension(new DerObjectIdentifier("2.5.29.37"), false, new DerSequence(new DerObjectIdentifier("1.3.6.1.5.5.7.3.2")));
var subjectPbkInfo = new SubjectPublicKeyInfo(new AlgorithmIdentifier(RosstandartObjectIdentifiers.id_tc26_signwithdigest_gost_3410_12_256.Id), pbk.Q.GetEncoded());
var subjectKeyID = new SubjectKeyIdentifier(subjectPbkInfo);
extGen.AddExtension(new DerObjectIdentifier("2.5.29.14"), false, new DerOctetString(subjectKeyID.GetKeyIdentifier()));
AttributePkcs attributePkcs = new AttributePkcs(PkcsObjectIdentifiers.Pkcs9AtExtensionRequest, new DerSet(extGen.Generate()));
var request = new Pkcs10CertificationRequest(
"1.2.643.7.1.1.3.2",
new X509Name("CN=Anatolka"),
(ECPublicKeyParameters)pbk,
new DerSet(attributePkcs),
(ECPrivateKeyParameters)prk);
static System.Object ReadPemObject (String _fileName)
{
TextReader TextReader = File.OpenText($".\\{_fileName}");
var PemReader = new PemReader(TextReader);
var _object = PemReader.ReadObject();
TextReader.Close();
TextReader.Dispose();
return _object;
}
Спасибо! Может быть подскажите, как подписывать хэш средствами крипто про? Я задавал вопрос, но на него так и не смогли ответить - https://www.cryptopro.ru...aspx?g=posts&t=20332
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 05.07.2018(UTC) Сообщений: 467
Сказал(а) «Спасибо»: 43 раз Поблагодарили: 69 раз в 61 постах
|
Автор: Андрей C В .Net можно сделать так: пример Gost3410_2012_256CSPSample.cs, он находится в Samples -> Sign -> cs. В вашем случае не подскажу... Отредактировано пользователем 27 декабря 2021 г. 9:31:26(UTC)
| Причина: Не указана |
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close