ASP.NET: Error: System.Security.Cryptography.CryptographicException: Keyset does not exist or Access is denied.
This article provides a possible solution to fix the following exception: System.Security.Cryptography.CryptographicException - Keyset does not exist or Access is denied.

1 Comments   Posted by LazyAssCoder on Nov 11, 2008   4537 Views   Report Abuse
Tags: Security, Cryptography, RSA, Exception

Bookmark and Share

 If you're get one of the following exception messages in your application:

Message: Keyset does not exist

StackTrace:   
  
   at System.Security.Cryptography.CryptographicException.ThrowCryptogaphicException(Int32 hr)
   at System.Security.Cryptography.SafeProvHandle._FreeCSP(IntPtr pProvCtx)
   at System.Security.Cryptography.SafeProvHandle.ReleaseHandle()
   at System.Runtime.InteropServices.SafeHandle.InternalFinalize()
   at System.Runtime.InteropServices.SafeHandle.Dispose(Boolean disposing)
   at System.Runtime.InteropServices.SafeHandle.Finalize()

 

Message: Access is denied.

StackTrace:  

   at System.Security.Cryptography.CryptographicException.ThrowCryptogaphicException(Int32 hr)
   at System.Security.Cryptography.Utils._CreateCSP(CspParameters param, Boolean randomKeyContainer, SafeProvHandle& hProv)
   at System.Security.Cryptography.Utils.CreateProvHandle(CspParameters parameters, Boolean randomKeyContainer)
   at System.Security.Cryptography.RSACryptoServiceProvider.ImportParameters(RSAParameters parameters)
   at System.Security.Cryptography.RSA.FromXmlString(String xmlString)

 Solution:

The application might be trying to write to the following folder path: C:\Documents and Settings\All Users\Application Data\Microsoft\Crypto\RSA\MachineKeys

If your application is using impersonation or using the IUSR_MACHINENAME user, then configure the MachineKeys folder sercurities and give the user Read & Execute, List Folder Contents, Read, Write.  If that doesn't work, try giving the Everyone user the same permissions.


Comments
  • suja on Feb 28, 2010 11:51:16 PM
    WOW!!... Thanks a lot !! Your solution worked for me :)

Login or Register to add a comment.