代码改变世界

RSA System.Security.Cryptography.CryptographicException

2010-11-14 21:08  咸蛋哥哥  阅读(830)  评论(0编辑  收藏  举报

这四个月很忙,之前做的wpf的东东还没完全做完.

当前在为公司分配的两个任务(一个是基于Remoting的分布式应用的构架,一个是把当前公司所有的产品用户认证整合(SSO))忙得晕乎乎了.

几乎有大半年没接触asp.net了,RSA加密这种方式之前也没用过。就碰到这个问题了

 

System.Security.Cryptography.CryptographicException

 

异常的引用源于:rsa.FromXmlString("PrivateKey");(rsa = new System.Security.Cryptography.RSACryptoServiceProvider();)

这个异常没挂载到IIS上是没问题的,一挂载到IIS就出这个问题了。

一般是因为权限问题引发,上网找了下解决方案,说是因为C:\Documents and Settings\Administrator\Application Data\Microsoft\Crypto代理帐户需要权限.

按此方案设置后还是不行.

 

搞了近两个小时,终于在msdn的一个博客上找到解决方案。(详见:http://blogs.msdn.com/b/tess/archive/2007/10/31/asp-net-crash-system-security-cryptography-cryptographicexception.aspx)

设置key使用使用计算机的密钥存储区中的密钥信息.

上述那个博客对这个问题分析得比较好,标记下,回头详细学习.