Высокопроизводительная реализация RSA для C # или C - PullRequest
1 голос
/ 20 июля 2010

У меня есть веб-сервис, который выполняет множество операций подписи RSA.Я использую CryptograhyProvider из .net.При этом используется неуправляемый CyptoAPI из Windows.

У меня часто возникает эта ошибка:

System.Security.Cryptography.CryptographicException: Der RPC-Server ist für diesen Vorgang zu stark ausgelastet.[= RPC-сервер слишком занят, чтобы завершить транзакцию]

bei System.Security.Cryptography.CryptographicException.ThrowCryptogaphicException (Int32 hr) bei System.Security.Cryptography.Utils._ImportKey (SafeProvHandle hN, NS, HSP,Флаги CspProviderFlags, Object cspObject, SafeKeyHandle & hKey) bei System.Security.Cryptography.RSACryptoServiceProvider.ImportParameters (RSAParameters)

Вместо того, чтобы пытаться это исправить, я скорее заменил бы мою операцию подписи RSADLLImport для высокопроизводительной реализации RSA C.

Кто-то знает один или может порекомендовать его?

Является ли OpenSSL быстрее MS CryptoApi?Я также подозреваю, что загрузка ключа может привести к серьезным накладным расходам.

Спасибо!

Ответы [ 3 ]

3 голосов
/ 20 июля 2010

Я бы порекомендовал OpenSSL, но я не знаю сравнение с MS CryptoAPI.Его простой в использовании и документации обширный наряду с примером исходного кода.

Проверьте подробное описание API здесь .

2 голосов
/ 20 июля 2010

Вы также можете рассмотреть NSS . Этому 2 года, но все же стоит посмотреть.

1 голос
/ 20 июля 2010

http://www.cryptopp.com/ может быть хорошая библиотека.

Он был использован в этом тесте скорости: http://www.cryptopp.com/benchmarks.html

К сожалению, нет сравнения с OpenSSL

...