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


当前第2页 返回上一页

选择 [证书] -> [导入]

导入你的证书文件

2.授权证书

先安装 winhttpcertcfg.exe 工具(Windows HTTP Services Certificate Configuration Tool)。安装完成之后在该工具在C:\Program Files (x86)\Windows Resource Kits\Tools 或者C:\Program Files\Windows Resource Kits\Tools 文件夹下。打开cmd键入命令:

复制代码 代码如下:

winhttpcertcfg -g -c LOCAL_MACHINE\MY -s "你的证书名称" -a "你的iis账号标识"

-g 指令 就是授权

-c 是指证书所在的存储区

另外,证书的名称就是这个,如图所示 而不是其他什么东西,我就是搞错了,点击这个证书的详情取了里面的名称,导致授权不成功。

而iis账号标识,是指站点对应的应用程序池,高级设置里有标识这个选项来选择对应的用户。当时我授权的标识是Network Service,而应用程序池中的标识ApplicationPoolIdentity,结果导致我发起请求时出现了:

复制代码 代码如下:

System.Net.WebException: 请求被中止: 未能创建 SSL/TLS 安全通道。

3.修改代码

做完这些配置之后修改一下之前加载证书的代码。

复制代码 代码如下:

1

2

3

4

1 X509Store store = new X509Store("My", StoreLocation.LocalMachine);

2 store.Open(OpenFlags.ReadOnly | OpenFlags.OpenExistingOnly);

3

4 System.Security.Cryptography.X509Certificates.X509Certificate2 cert = 5 store.Certificates.Find(X509FindType.FindBySubjectName, "你的证书名称", false)[0];

再测试一下,终于成功!

以上就是ASP.NET使用X509Certificate2出现的一些问题的解决方法分享(图)的详细内容!

返回前面的内容

相关阅读 >>

asp.net core新建项目教程(3)_实用技巧

详解asp.net使用ajax实现分页局部刷新页面功能的代码实例

asp.net 获取 客户端ip

asp.net 中用gridview控件的实例教程

用signair和push.js完成消息推送代码详解

[转]support composite key in asp.net web api odata

解决.net服务器发送http后设置不了内容类型的情况

.net实现邮件发送的代码详解

core web中使用appsettings.json配置文件的实例详解(asp.net

asp.net core 应用程序发布命令实例

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




打赏

取消

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

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

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

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

评论

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