ASP.NET MVC:“发生内部错误。”使用X509Certificate2加载证书字节时

时间:2011-05-23 12:45:03

标签: exception asp.net-mvc-3 x509certificate2

我已花了几个小时来解决此错误。奇怪的是当我独立使用this库时,它工作得非常好但是当我将它们与我的ASP .NET MVC网站集成时,它开始抛出以下异常。我也根据建议here使用了MachineKeySet标志,但仍然没有运气。任何人都可以帮我摆脱这个例外。感谢。

  

发生内部错误。

     

描述:未处理的异常   在执行期间发生   当前的网络请求。请查看   堆栈跟踪以获取更多信息   错误及其来源   代码。

     

异常详细信息:   System.Security.Cryptography.CryptographicException:   发生内部错误。

     

来源错误:

     

第194行:如果   (string.IsNullOrEmpty(p12FilePassword))    第196行:certificate = new X509Certificate2(p12FileBytes,“”,X509KeyStorageFlags.MachineKeySet);   第197行:否则

1 个答案:

答案 0 :(得分:8)

我找到了解决方案here。看起来像一个已知问题。我一起使用了X509KeyStorageFlags.MachineKeySet | X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.Exportable个标志,问题就消失了。其他解决方案是将应用程序池的标识更改为LOCALSERVICE。