一、课程介绍

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,这可能史上最简单快速的方式了!

废话不多说,直接上干货,我们不生产干货,我们只是干货的搬运工。

HTTPS时代

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双向验证

 
 

ASP.NET WebAPI数据传输安全HTTPS实战项目演练的更多相关文章

  1. C# WebApi+Task+WebSocket实战项目演练(四)

    一.课程介绍 本次分享课程属于<C#高级编程实战技能开发宝典课程系列>中的第四部分,阿笨后续会计划将实际项目中的一些比较实用的关于C#高级编程的技巧分享出来给大家进行学习,不断的收集.整理 ...

  2. C#网络编程技术FastSocket实战项目演练

    一.FastSocket课程介绍 .NET框架虽然微软提供了socket通信的类库,但是还有很多事情要自己处理,比如TCP协议需要处理分包.组包.粘包.维护连接列表等,UDP协议需要处理丢包.乱序,而 ...

  3. C#网络编程技术微软Socket实战项目演练(三)

    一.课程介绍 本次分享课程属于<C#高级编程实战技能开发宝典课程系列>中的第三部分,阿笨后续会计划将实际项目中的一些比较实用的关于C#高级编程的技巧分享出来给大家进行学习,不断的收集.整理 ...

  4. C# RabbitMQ优先级队列实战项目演练

    一.需求背景 当用户在商城上进行下单支付,针对客户等级的不同和订单金额的大小划分客户级别,需要优先处理给标识为大订单的客户发送一份订单邮件提醒.那么我们应用程序如何解决这样的需求场景呢?今天阿笨给大家 ...

  5. C#模板引擎NVelocity实战项目演练

    一.背景需求 很多人在做邮件模板.短信模板的时候,都是使用特殊标识的字符串进行占位,然后在后台代码中进行Replace字符串,如果遇到表格形式的内容,则需要在后台进行遍历数据集合,进行字符串的拼接,继 ...

  6. C# RabbitMQ延迟队列功能实战项目演练

    一.需求背景 当用户在商城上进行下单支付,我们假设如果8小时没有进行支付,那么就后台自动对该笔交易的状态修改为订单关闭取消,同时给用户发送一份邮件提醒.那么我们应用程序如何实现这样的需求场景呢?在之前 ...

  7. WinForm企业级框架实战项目演练

    一.课程介绍 我们都知道在软件架构方式分为:C/S和B/S两类.这里阿笨不谈论两种软件架构的优劣之分,因为它们各有千秋,用于不同场合.一位伟大的讲师曾经说过一句话:事物存在即合理!录制这堂课程的目的就 ...

  8. .NET开源作业调度框架(Quartz.NET和FluentScheduler)实战项目演练

    一.课程介绍 明人不说暗话,跟着阿笨一起玩NET .本次分享课程属于<C#高级编程实战技能开发宝典课程系列>中的一部分,阿笨后续会计划将实际项目中的一些比较实用的关于C#高级编程的技巧分享 ...

  9. WinForm多语言版本实战项目演练

    一.课程介绍 关于如何实现“WinForm多语言版本”网上有很多实现技术方案,可以说是“琳琅满目”,"包罗万象".俗话说的好:一千个读者就有一千个哈姆雷特!如果您工作中恰好也遇到这 ...

随机推荐

  1. PyCharm安装使用 激活码

    从pycharm官网 [http://www.jetbrains.com/pycharm/download/#section=windows]下载完整安装包 激活码激活 优点:Window.Mac.U ...

  2. 【Android】Android EditText 去除边框

    [Android]Android EditText 去除边框 将EditText属性设置修改 android:background="@null" //////////////// ...

  3. Android ADB命令 adb devices 出现error:protocol fault (no status)

    问题背景:安装apk是报error:protocol fault<no status>或error:device not found手机驱动有问题 出现的问题如下:adb devices ...

  4. jmeter访问mysql数据库

    jdbc:mysql://localhost:3306/jy?allowMultiQueries=true 如果想同时执行多条语句

  5. html ie

    <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content=" ...

  6. ibatis 多种传参方式

    1,在公司项目yuda遇到的传入in语句,如果直接拼接in语句:in (....),sqlmap中使用#...#输出是不行的. 为需要使用: 第三种:in后面的数据确定,使用string传入      ...

  7. C语言实现链栈

    我自己写的代码部分: #include<stdio.h> #include<stdlib.h> #include<string.h> typedef struct ...

  8. Codeforces 861D - Polycarp's phone book 【Trie树】

    <题目链接> 题目大意: 输入7e4个长度为9的字符串,每个字符串中只出现0~9这几种数字,现在需要你输出每个母串中最短的特有子串. 解题分析: 利用Trie树进行公共子串的判定,因为Tr ...

  9. Java Lambda基础——Function, Consumer, Predicate, Supplier, 及FunctionalInterface接口

    这几个接口经常与Lambda结合使用,网上当然也有很多介绍,不过有些过于繁琐,有些又偏简单,秉着实用主义精神,今天这里折中一下,把介绍的内容分为两部分,第一部分相当于TLDR,总结几个"口诀 ...

  10. js 解析json

    一 ,eval var dataObj=eval("("+data+")"); 1,这种形式将使得性能显著降低,因为它必须运行编译器 2,eval函数还减弱了你 ...