Cryptographic service provider (CSP) could not be found for this algorithm.

From: Sven-Torben Janus (s-tjanus_at_gmx.de)
Date: 09/07/04


Date: Tue, 7 Sep 2004 23:27:44 +0200

I'm running an ASP.NET webapplication on a Windows 2000 Server SP4 machine
with .Net Framework 1.0 installed.

The ASP.Net application uses impersonation (windows domain account). This is
needed for communication between two servers (some ldap stuff).
Furthermore the application uses FormsAuthentication. At some point the
FomrAuthentication.Decrypt method is called. At this point I get the
following error:

Cryptographic service provider (CSP) could not be found for this algorithm.
Description: An unhandled exception occurred during the execution of the
current web request.
Please review the stack trace for more information about the error and where
it originated in the code.

Exception Details:
System.Security.Cryptography.CryptographicException:
Cryptographic service provider (CSP) could not be found for this algorithm.

Source Error:
An unhandled exception was generated during the execution of the current web
request. Information regarding the origin and location of the exception can
be identified using the exception stack trace below.

Stack Trace:

[CryptographicException: Cryptographic service provider
(CSP) could not be found for this algorithm.]

System.Security.Cryptography.DESCryptoServiceProvider..ctor() +239
   System.Web.Security.FormsAuthentication.Initialize() +242
   System.Web.Security.FormsAuthenticationModule.OnEnter(Object source,
EventArgs eventArgs) +146
   System.Web.SyncEventExecutionStep.Execute() +60
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean&
completedSynchronously) +87

The application runs fine on another Win2K SP4 machine and also on some
other WinXP machines.
I tried to install the Windows 2000 High Encryption Package. But that didn't
solve the problem.
The error doesn't occur when I turn impersonation off. But the application
needs impersonation so this is no solution.

So what to do ?
I searched msdn and the internet but I couldn't find anything that solves
the problem.

Any help is appreciatet.

Thanks in advance.

Sven-Torben