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.
I experienced this when I’m working with the Windows Identity Foundation. I am doing a research for single sign-on, federated identification that will be implemented on BlastSuites project QuickSaas.
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 or NETWORK SERVICE 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
You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.