代码改变世界

部署时,出现用户代码未处理 System.Security.Cryptography.CryptographicException 错误解决方法

  jiangys  阅读(23733)  评论(12编辑  收藏  举报

在调用RSA加密的.pfx密钥时,在本地调试没有问题,可以布署到服务器,就会报以下的错误:

复制代码
用户代码未处理 System.Security.Cryptography.CryptographicException
  HResult=-2146893792
  Message=出现了内部错误。

  Source=mscorlib
  StackTrace:
       在 System.Security.Cryptography.CryptographicException.ThrowCryptographicException(Int32 hr)
       在 System.Security.Cryptography.X509Certificates.X509Utils._LoadCertFromFile(String fileName, IntPtr password, UInt32 dwFlags, Boolean persistKeySet, SafeCertContextHandle& pCertCtx)
       在 System.Security.Cryptography.X509Certificates.X509Certificate.LoadCertificateFromFile(String fileName, Object password, X509KeyStorageFlags keyStorageFlags)
       在 System.Security.Cryptography.X509Certificates.X509Certificate2..ctor(String fileName, String password, X509KeyStorageFlags keyStorageFlags)
       在 xxxxx.API.Tools.RSA.Sign(String data, String keyPath, String keyPasswd)
       在 xxxxx.API.Tools.Encrypt.signANDencrypt(MsgBean req_bean)
       在 xxxxx.API.xxxxx.GetBankCardInfo(String orderId, String cardNo)
       在 xxxxx.GetBankCardInfo(GetBankCardInfoReq request) 位置 d:\app_service\WHTR_SOA\WHTR.SOA.Services\OnlinePay\Yilian\OnlinePayService.cs:行号 108
       在 Castle.Proxies.Invocations.xxxxx.InvokeMethodOnTarget()
       在 Castle.DynamicProxy.AbstractInvocation.Proceed()
       在 xxxxx.CastleMethodInvocation.Proceed() 位置 d:\xxxxx.cs:行号 80
       在 xxxxx.Intercept(IMethodInvocation invocation) 位置 d:\xxxxx.cs:行号 56
  InnerException: 
复制代码

处理方法:

IIS 应用程序池--选中你网站的所配置的应用程序池--右键 选择 “高级配置” --将“加载用户配置文件” 设置为True 。问题解决

 

编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端
点击右上角即可分享
微信分享提示