Как стать автором
Обновить

Комментарии 14

bouncycastle, openssl

Есть куча великолепного опенсорс софта для чтения и валидации ЭПЦ. Он поддерживает ГОСТ. Зачем использовать платный проприетарный софт? Для подписания я еще могу понять. Сертификаты все дела. А для валидации зачем?
У bouncycastle под .net проблемы с валидацией ГОСТ подписей, в частности не валидируются подписи с ГОСТ Р 34.11-2012, PR висит уже год: github.com/bcgit/bc-csharp/pull/104.
Так же там кривые параметры инициализации кривых id-tc26-gost-3410-2012-256-paramSetA.
В своём проекте в итоге задействовали всё же bouncycastle для валидации, но с доработками.
Если кому интересно, то вот ветка с работающей валидацией ГОСТ Р 34.11-2012: github.com/kmosolov/bc-csharp/tree/dev
+ там добавлена возможность проверки подписи по хешу (SignerInformation.VerifyByHash)
certificate.Subject сложно парсите, есть вариант чууууть чуть проще:
certificate.SubjectName.Format(true)

тогда все параметры уже разделены переносами.

ПС: аналогично например certificate.IssuerName.Format(true) ещё можно
Спасибо, буду пробовать
Такое ощущение, что вам чем-то не угодил var
так и есть. Общее правило написания кода по команде не использовать var, когда это возможно.
Причина проста — читаемость кода выше, когда видно тип объявляемой переменной
Привязываться к строковым алиасам параметров subject тоже неверно, в том же bouncyCastle и КриптоПро некоторые отличаются. По возможности загляните в реализацию X509Certificate2, и как корректней обрабатывать DistinguishedName
Ну, собственно в статье я об этом и написал, и написал, что не знаю как сделать лучше. Надеюсь кто-то в комментах предложит решение лучше
Я в своих проектах использую вот эту библиотеку:
github.com/AlexMAS/GostCryptography
поддерживает в том числе и VipNet. Вы её смотрели?
Дело в том, что нам нужна юридически значимая подпись, а крипто про сертифицирован компетентными органами, да и цена у него в целом приемлемая CSP + .NET обошлись в районе 110к, если правильно помню.
Не подумайте что я таким образом пиарю крипто про. Но для Enterprise решения он подходит
Не, сама библиотека для формирования подписи/шифрования использует криптопро (или випнет). Но, на мой взгляд, она удобнее чем .NET от криптопро и не нужно отдельно платить за библиотеку .NET для криптопро. Я как понял по условиям лицензии я эту библиотеку от криптопро должен на каждый свой инстанс покупать.
жду комментариев по получению Oid-ов из сертификата

Разбираем и просматриваем квалифицированные сертификаты

Коллеги, мы недавно начали адаптировать .NET Core для Российской криптографии: github.com/KovtunovSergey/corefx — присоединяйтесь!
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации

Истории