Cryptography
.NET
PDF
C#
Comments 14
+4
bouncycastle, openssl

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

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

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

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

Only those users with full accounts are able to leave comments., please.