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
- 创建一个自签名的证书(本地测试)
- 在IIS中,创建指定站点的https访问
- 将证书绑定到 step2 中指定的站点
- 配置 SSL Setting
- Asp.Net部分页面实现SSL
预览效果:
具体实现:
- 下载SecuritySwitch v4.2.0.0 - Binary.zip
- 将securityswith.dll和SecuritySwitch-v4.xsd添加引用到项目中
- 配置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>
每天进步一点点