调用微信退款接口时出现System.Security.Cryptography.CryptographicException: 出现了内部错误 解决办法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了调用微信退款接口时出现System.Security.Cryptography.CryptographicException: 出现了内部错误 解决办法相关的知识,希望对你有一定的参考价值。

我总结了一下出现证书无法加载的原因有以下三个

1.证书密码不正确,微信证书密码就是商户号

    解决办法:请检查证书密码是不是和商户号一致

2.IIS设置错误,未加载用户配置文件

     解决办法:找到网站使用的应用程序池-->右击-->高级设置-->打开如下图-->在加载用户配置文件选择true


技术分享

3.如果以上两个方案都不能解决问题,就有可能是加载证书时没有给定证书存储标识

    解决方法:在加载证书方法时使用以下方法,请注意第三个参数

    

X509Certificate2 cer = new X509Certificate2(cerPath, password, X509KeyStorageFlags.MachineKeySet | X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.Exportable); 
req.ClientCertificates.Add(cer);

以上是关于调用微信退款接口时出现System.Security.Cryptography.CryptographicException: 出现了内部错误 解决办法的主要内容,如果未能解决你的问题,请参考以下文章

坑爹微信之读取PKCS12流时出现的java.io.IOException: DerInputStream.getLength

调用微信退款接口问题备忘

微信公众号退款开发

调用微信退款接口时,证书验证出现System.Security.Cryptography.CryptographicException: 出现了内部错误 解决办法

浅析微信支付:申请退款退款回调接口查询退款

微信支付退款接口证书使用