ASP.NET使用X509Certificate2出现的一些问题的解决方法分享(图)


本文摘自PHP中文网,作者黄舟,侵删。

这篇文章主要为大家详细介绍了ASP.NET使用X509Certificate2出现一系列问题的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

在做微信支付退款的时候,由于需要使用到p12证书,结果就遇到一系列的坑。这里做个记录方便以后查阅。

原先加载证书的代码:

复制代码 代码如下:

1

1 X509Certificate2 cert = new X509Certificate2(path + WxPayConfig.SSLCERT_PATH, WxPayConfig.SSLCERT_PASSWORD);2 Request.ClientCertificates.Add(cert);

在vs 上测试通过。但是部署到IIS上一直报这个问题:

复制代码 代码如下:

1

System.Security.Cryptography.CryptographicException: 系统找不到指定的文件。

详细Stack Trace信息:

在 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)
在 TenpayCore.HttpService.Post(TenpayException& tpEx, Byte[] xml, String url, Boolean isUseCert, Int32 timeout)。

反复测试之后,确认不是代码跟文件路径的问题。在查询微软的文档后发现了相关说明,指明了问题所在,以下分享一下我的操作流程。

1.将证书安装上去

点击 [开始] -> [运行] -> 键入[mmc] 进入“控制台”界面 -> 选择[文件] -> [添加/删除管理单元](Ctrl+M)

选择 [证书] -> [计算机账户] -> [下一步] -> [完成]

阅读剩余部分

相关阅读 >>

asp.net面试题大全

关于asp.net视频教程的资源分享

介绍asp.net的几种分页方式

asp.net core中的多语言支持的图文详解

asp.net(一)基础三层框架项目:web服务器、业务服务器、数据库服务器

asp.net之actionfilter过滤器

asp.net数据库密码:md5加密算法详解

asp.net core项目配置教程(6)_实用技巧

解决asp.net网站第一次访问慢的方法

asp.net如何实现的群发邮件功能详解

更多相关阅读请进入《asp.net》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...