23.03.2007 10:06:30Использование КриптоПро CSP на платформе .NET Ответов: 8
Максим
Здравствуйте!

Требуется разработать WindowsApplication, которое осуществляет шифрование/ЭЦП по ГОСТ'ам и обратные действия – расшифровать/проверить ЭЦП (сертификаты открытых ключей).
Подскажите, какие интерфейсы КриптоПро CSP лучше использовать для этих целей на .NET платформе (C#) и опишите схему реализации этого (может пример есть?).

Извините за дилетантскую постановку вопроса – я новичок в этом и заранее спасибо!
 
Ответы:
23.03.2007 11:42:01Кирилл
Лучше написать COM-объект, т.к. можно будет использовать все возможности CryptoApi без использования pinvoke. Также можно воспользоваться Capicom.
02.04.2007 16:21:51Максим
Кирилл, не могли бы вы уточнить, что вы имели ввиду под написанием COM-объекта? В своей работе он должен использовать непосредственно CrytoApi, что на C# весьма проблематично, или есть другие альтернативы?

Пробывал использовать CAPICOM, но по ряду причин (в первую очередь - быстродействие), этот вариант не подходит.

Вообще какие есть альтернативы использования CrytoApi в C#? .NET 2.0 предоставляет какие нибудь классы которые можно было использовать с КриптоПро CSP?
02.04.2007 16:38:46Кирилл
По сути, пишется обертка над функциями CryptoApi. Обертка - в виде COM, с которым .NET весьма успешно умеет общаться. Альтернатив в managed коде нет. Есть open source проект баунсикастл, там есть гостовские алгоритмы, но алгоритмов ГОСТа 2001 нет.
02.04.2007 16:47:17Максим
В том то и вся сложность, что все должно быть на C#, т.е. C++ для реализации COM-объекта я использовать не могу (а жаль).

Нельзя ли использовать что то из System.Security.Cryptography совместно с КриптоПро?
02.04.2007 16:54:44Кирилл
Тогда использовать только PInvoke, без вариантов. Очень непонятные требования к проекту.

В этом неймспейсе в перечислениях нет никакого упоминания о гостах, так что увы.
02.04.2007 17:03:27Максим
гм...
А System.Security.Cryptography сам реализует все крипто-алгоритмы и не базируется на CryptoApi?
Разьве ему нельзя подсунуть другого криптопровайдера (вы даже знаете какого )))?
02.04.2007 17:08:42Кирилл
Нет.
02.04.2007 17:09:54Максим
Большое Спасибо за ответы, Кирилл!