一、课程介绍
HTTPS是互联网 Web 大势所趋,各大网站都已陆续部署了 HTTPS 。 全站HTTPS时代,加密用户与网站间的交互访问,在客户端浏览器和Web服务器之间建立安全加密通道,一般情况下,由于HTTP协议的安全性,传递的参数容易被拦截,从而可能导致潜在的危险,所以一般WebAPI接口层都采用了HTTPS协议的,也就是采用SSL层来对数据进行安全性的加密的。
国内外的大型互联网公司很多也都已经启用了全站 HTTPS,这也是未来互联网发展的趋势。为鼓励全球网站的 HTTPS 实现,一些互联网公司都提出了自己的要求:
1)Google 已调整搜索引擎算法,让采用 HTTPS 的网站在搜索中排名更靠前;
2)到了2018年7月,Chrome浏览器的地址栏将把所有HTTP标示为不安全网站。
3)苹果要求 2017 年App Store 中的所有应用都必须使用 HTTPS 加密连接;
4)当前国内炒的很火热的微信小程序也要求必须使用 HTTPS 协议;
5)新一代的 HTTP/2 协议的支持需以 HTTPS 为基础。等等,因此想必在不久的将来,全网 HTTPS 势在必行。
1.1、ASP.NET WebAPI如何保证客户端以安全的方式进行访问?
先说一下何为安全?我们需要解决什么问题?
调用安全:由于WebAPI 是暴露在公网中,怎么防止非法用户调用我们的服务呢?因此我们需要解决:认证问题。
数据传输安全:由于我们的数据都是通过明文在网络上进行传输很容易被窃取到。因此我们需要解决:数据被窃取问题。
因此:我们可以通过Token验证机制来保证WebAPI 的认证使用;可以通过HTTPS/SSL来保证数据的加密,防止网络侦听!
关于调用安全大家感兴趣的话可以学习《ASP.NET WebApi 基于JWT实现Token签名认证》、《ASP.NET WebApi 基于分布式Session方式实现Token签名认证》 课程,本次分享课程阿笨给大家分享的是数据传输安全《ASP.NET WebAPI数据传输安全HTTPS/SSL实战项目演练》
1.2、本次分享课程包含知识点如下:
1、10秒钟教你如何将一个Web项目变为支持Https,这也许是史上最快速的操作方式了,没有之一!
2、使用OpenSSL生成自签名证书搭建WebAPI Https(IIS)站点实战演练
3、使用免费SSL证书搭建WebAPI Https(IIS)站点实战演练。 5分钟教你快速将ASP.NET WebAPI部署在IIS上并支持HTTPS,这可能史上最简单快速的方式了!
废话不多说,直接上干货,我们不生产干货,我们只是干货的搬运工。
二、概念名称含义介绍
1、什么是HTTP和HTTPS以及区别?
HTTPS协议和HTTP协议的区别:
2、什么是数字证书?
3、什么是SSL证书以及作用和加密原理
3.1、什么是SSL
3.2、SSL证书作用
3.3、SSL加密原理
4、SSL单向认证和SSL双向认证区别
三、ASP.NET WebAPI之HTTPS/SSL实战演练
1、10秒钟教你如何将一个Web项目变为支持Https,这也许是史上最快速的操作方式了,没有之一!
2、使用OpenSSL生成自签名证书搭建WebAPI Https(IIS)站点实战演练
3、使用免费SSL证书搭建WebAPI Https(IIS)站点实战演练
5分钟教你快速将ASP.NET WebAPI部署在IIS上并支持HTTPS,这可能史上最简单快速的方式了!
4、如何实现IIS站点ASP.NET WebAPI通过访问HTTP自动跳转到HTTPS。
四、课后思考与总结
4.1、SSL证书的安全问题部署了HTTPS一定就安全吗?
4.2、HTTPS 缺点:
4.3、SSL双向验证