C# RSA在服务上使用出现拒绝方法错误的解决方法
在做一个快钱接口的时候,遇到了.net RSA加密无法在一台win2008服务器上运行正常,更换到Win2003服务器后出现问题,具体表现如下:
“/”应用程序中的服务器错误。 -------------------------------------------------------------------------------- 拒绝访问。 说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Security.Cryptography.CryptographicException: 拒绝访问。 源错误: 执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。 堆栈跟踪: [CryptographicException: 拒绝访问。 ]
在网络上多次搜寻,分别找到了一下解决方法,但是均无效:
windows-2003环境,对证书存放目录设置访问权限,添加用户everyone。
方案一:将模拟帐户的密码恢复到以前的那个密码; 方案二:C:\Documents and Settings\%userName%\Application Data\Microsoft\的Crypto目录给删掉。(http://www.cnblogs.com/xl696128/archive/2009/01/04/1368099.html)
最后在IIS应用池中,把账户调整为本地系统,问题解决!