У меня есть веб-сервис, который выполняет множество операций с RSA-подписью. Я использую CryptograhyProvider из .net. При этом используется неуправляемый CyptoAPI из Windows.
У меня часто возникает эта ошибка:
System.Security.Cryptography.CryptographicException: Der RPC-Server ist für diesen Vorgang zu ausgelastet. [=Сервер rpc слишком занят для завершения транзакции]
в System.Security.Cryptography.CryptographicException.ThrowCryptogaphicException(Int32 hr) в System.Security.Cryptography.Utils._ImportKey(SafeProvHandle hCSP, Int32 keyNumber, CspProviderFlags flags, Object cspObject, SafeKeyHandle& hKey) в System.Security.Cryptography.RSACryptoParametersProvider.ImporttoServiceProvider. (параметры RSAParameters)
Вместо того, чтобы пытаться исправить это, я предпочел бы заменить свою операцию подписи RSA на DLLImport на высокопроизводительную реализацию RSA C.
Может кто знает или может порекомендовать?
OpenSSL быстрее, чем MS CryptoApi? Я также подозреваю, что загрузка ключа может привести к серьезным накладным расходам.
Спасибо!