温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

ASP.NET(C#)使用证书进行SSL安全通信

发布时间:2020-06-14 05:19:22 阅读:4356 作者:倚己修心 栏目:编程语言
亿速云SSL证书,防劫持篡改、防监听窃取、提升搜索排名 点击了解>>

 1.      获取访问网站需要的证书

2.      从微软官网下载“资源工具箱”,其中包括证书管理工具。
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=17657

安装完,Windows HTTP 服务证书配置工具(WinHttpCertCfg.exe)通常应该在C:\Program Files\Windows Resource Kits\Tools文件夹下。

3.      使用CMD命令行,运行WinHttpCertCfg.exe工具
WinHttpCertCfg.exe –g –c LOCAL_MACHINE\MY –i “
你的证书地址” –a “授权的用户组/” –p 密码

ASP.NET(C#)使用证书进行SSL安全通信


IIS服务用户组授权并导入证书。

ASP.NET(C#)使用证书进行SSL安全通信


这样,就可以在IIS管理,证书页面可以看到刚才导入的证书。
重启IIS服务,使刚才的授权生效。

4.      导出证书为.CER文件
开始—》运行—》输入MMC;打开控制台
文件—》添加/删除管理单元
选择“证书”,点击“添加”,选择“计算机账号”,“下一步”,“完成”,“确定”
选择“个人”—》“证书”;

ASP.NET(C#)使用证书进行SSL安全通信


右键单击证书,“所有任务”—》“导出”—》“下一步”—》“下一步”
选择

ASP.NET(C#)使用证书进行SSL安全通信

,点击“下一步”,单击“浏览”,输入要保存的文件名和地址,“下一步”—》“完成”;
导出成功!

5.   C#使用证书进行SSL安全通信代码示例

using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls//引用命名空间 using System.IO; using System.Net; using System.Net.Security; using System.Security.Authentication; using System.Security.Cryptography.X509Certificates;  public partial class ssl : System.Web.UI.Page {     protected void Page_Load(object sender, EventArgs e)     {         //验证服务器证书回调方法         ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(CheckValidationResult);         //创建HttpWebRequest对象         HttpWebRequest https = (HttpWebRequest)HttpWebRequest.Create("https://localhost/restful/test/BBBAAA");         //创建证书         X509Certificate obj509 = new X509Certificate(AppDomain.CurrentDomain.BaseDirectory+"cert\\ccc.cer");//写入正确的证书路径(第四步导出的Cer文件)         //添加证书到HTTP请求中         https.ClientCertificates.Add(obj509);         https.Method = "GET";         //获取请求返回的数据         HttpWebResponse response = (HttpWebResponse)https.GetResponse();         //读取返回的信息         StreamReader sr = new StreamReader(response.GetResponseStream(), true);         int count;         char[] ReadBuf = new char[1024];         do         {             count = sr.Read(ReadBuf, 0, 1024);             if (0 != count)             {                 Label3.Text = new string(ReadBuf);             }         } while (count > 0);     }     //重写证书验证方法,总是返回TRUE,解决未能为SSL/TLS安全通道建立信任关系的问题     public bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors)     {         //总是返回TRUE         return true;     } } 


亿速云提供多种品牌、不同类型SSL证书签发服务,包含:域名型、企业型、企业型专业版、增强型以及增强型专业版,单域名SSL证书300元/年起。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI

开发者交流群×