Asp.Net站点实现部分页面采用SSL

  • 什么是https

SSL(Security   Socket   Layer)全称是加密套接字协议层,它位于HTTP协议层和TCP协议层之间,用于建立用户与服务器之间的加密通信,确保所传递信息的安全性,同时SSL安全机制是依靠数字证书来实现的。

SSL基于公用密钥和私人密钥,用户使用公用密钥来加密数据,但解密数据必须使用相应的私人密钥。使用SSL安全机制的通信过程如下:用户与IIS服务器建立连接后,服务器会把数字证书与公用密钥发送给用户,用户端生成会话密钥,并用公共密钥对会话密钥进行加密,然后传递给服务器,服务器端用私人密钥进行解密,这样,用户端和服务器端就建立了一条安全通道,只有SSL允许的用户才能与IIS服务器进行通信。

提示:SSL网站不同于一般的Web站点,它使用的是“HTTPS”协议,而不是普通的“HTTP”协议。因此它的URL(统一资源定位器)格式为“https://网站域名”。

  • Asp.Net全站实现SSL
  1. 创建一个自签名的证书(本地测试)
  2. 在IIS中,创建指定站点的https访问
  3. 将证书绑定到 step2 中指定的站点
  4. 配置 SSL Setting
  • Asp.Net部分页面实现SSL

预览效果:

具体实现:

  1. 下载SecuritySwitch v4.2.0.0 - Binary.zip
  2. 将securityswith.dll和SecuritySwitch-v4.xsd添加引用到项目中
  3. 配置web.config
 1 <configuration>
 2   <!--SSL step1 start-->
 3   <configSections>
 4     <section name="securitySwitch" type="SecuritySwitch.Configuration.Settings, SecuritySwitch" />
 5   </configSections>
 6   <!--SSL step1 end-->
 7   <!--SSL step2 start-->
 8   <securitySwitch    baseInsecureUri="http://192.168.0.111:8005" baseSecureUri="https://192.168.0.111" xmlns="http://SecuritySwitch-v4.xsd" mode="On">
 9     <paths>
10       <add path="~/Account" />
11       <add path="~/About.aspx" />
12     </paths>
13   </securitySwitch>
14   <!--SSL step2 end-->  
15   <!--SSL step3 start-->
16   <system.webServer>
17     <modules runAllManagedModulesForAllRequests="true">
18       <add name="SecuritySwitch" type="SecuritySwitch.SecuritySwitchModule, SecuritySwitch" />
19     </modules>
20   </system.webServer>
21   <!--SSL step3 end-->
22 </configuration>

 

posted @ 2016-02-17 14:59  Jonny Yan  阅读(937)  评论(0编辑  收藏  举报