HTTPS 笔记
随着互联网的迅速发展,网络安全问题日益凸显,现在 Chrome 浏览器已经开始阻止非 https 网站的访问了。对于 https 的流程一直不是十分清晰,借着还没有完全复工有时间,大概画了个图总结一下。
想要了解 https 流程,CA 的相关知识,加密方式(对称加密、非对称加密),以及哈希计算(例如:MD5、sha256)等技术必须得掌握,这里先不做介绍,后续有时间再进行归纳总结。
https 是在 http 的基础上加入了 SSL 协议,SSL 依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信进行加密。
HTTPS 的验证流程
- 客户端发起 https 请求
- 服务端返回数字证书文件(X.509 格式)
- 客户端验证数字证书,并且提取服务端公钥
- 如果客户端验证数字证书通过,则随机生成一个对称加密的 key,并使用服务器公钥对 key 加密
- 客户端发送加密后的 key 到服务端
- 服务端使用私钥解密拿到 key
- 客户端与服务端使用该 key 对称加解密通讯信息
客户端验证数字证书
- 浏览器安装后会自带一些权威 CA 公钥
- 使用相匹配的 CA 公钥对数字证书中的数字签名解密,如果能够解密则得到数字证书的摘要,由此证明数字证书是可信的
- 根据数字证书中的散列算法对网站信息进行哈希运算,将得到的结果与上一步得到的摘要对比,如果两者一致,就证明证书未被修改过
数字证书的签发过程
HTTPS 笔记的更多相关文章
- http升https笔记
证书申请的: 1.lets encrypt 国际公益项目发展很快的,不过在国内暂时有些支持度还不够高,如微信安卓版就不认lets encrypt的证书.跳转进去一直处于空白页状态 2.沃通证书 国内 ...
- https笔记
TCP提供了可靠的,面向连接的字节流服务. 1)应用数据分割成TCP认为适合发送的数据块,通过MSS(最大数据包长度)来控制. 2)重传机制 3)对首部和数据进行校验 4)TCP对收到的数据进行排序, ...
- HTTPS笔记:使用 SSLEngine 为 aioserver 服务器提供 SSL 访问支持
现在 HTTPS 的普及率是越来越高,闲来无事,花了二三天时间,为五年前写的 aioserver 服务器提供了 SSL 访问支持. 查看网上资料,为了提高服务器的高并发,建议使用:SSLEngine ...
- https笔记【转】
图解HTTPS 我们都知道HTTPS能够加密信息,以免敏感信息被第三方获取.所以很多银行网站或电子邮箱等等安全级别较高的服务都会采用HTTPS协议. HTTPS简介 HTTPS其实是有两部分组成:HT ...
- 本地部署 Misago Docker + 配置 HTTPS 笔记
最近答应帮朋友做个论坛网站,想借此机会捡起 Python 在 GitHub 找了一圈,打算借用以 Python+Django 开发的 Misago 这个论坛系统 由于作者在今年更新的 Misago 0 ...
- HTTPS and the TLS handshake protocol阅读笔记
目的 为能够透彻理解HTTPS报文交互过程,做此笔记. 本文大部分内容来自 : http://albertx.mx/blog/https-handshake/ http://www.cnblogs.c ...
- Win7下IE8无法打开https类型的网站解决方法笔记
现象: 一台笔记本(XP系统),一台台式机(Win7,64位系统),都是IE8,之前没任何问题,访问https也没异常,都能正常访问; 前天突然发现登录火车票网站出现无法打开登录页面情况,后来换其 ...
- https学习笔记三----OpenSSL生成root CA及签发证书
在https学习笔记二,已经弄清了数字证书的概念,组成和在https连接过程中,客户端是如何验证服务器端的证书的.这一章,主要介绍下如何使用openssl库来创建key file,以及生成root C ...
- https学习笔记二----基础密码学知识和python pycrypto库的介绍使用
在更详细的学习HTTPS之前,我也觉得很有必要学习下HTTPS经常用到的加密编码技术的背景知识.密码学是对报文进行编解码的机制和技巧.可以用来加密数据,比如数据加密常用的AES/ECB/PKCS5Pa ...
随机推荐
- Ubuntu navicat 连接mysql:access denied for user 'root'@'localhost'
真是醉了,Ubuntu装了navicat后,准备在桌面建立图标不成,结果直接打开后连接mysql都不行,真坑,奈何远程连接就成,这就尬了,今天终于解决了 问题 我也百度了好几个方案,奈何解决不了,最后 ...
- [LC] 95. Unique Binary Search Trees II
Given an integer n, generate all structurally unique BST's (binary search trees) that store values 1 ...
- 74)PHP,Session的一些属性
(1) (2)有效期在 会话周期结束(就是将浏览器关闭前) (3)有效路径: 整站都有效 (4)有效域:当前域 (5)是否安全传输:否 (6)以上的session数据的特征都是由一个问题导致的,就 ...
- 解决Navicat无法连接到MySQL的问题
解决Navicat无法连接到MySQL的问题 问题一:本地IP(xxx.xxx.xxx.xxx)没有访问远程数据库的权限.于是下面开启本地IP(xxx.xxx.xxx.xxx)对远程mysql数据库的 ...
- IOC初始化销毁的2种实现方式
IOC初始化销毁的2种实现方式 1.bean内调用init-method 和destroy-method 2.通过注解实现@PostConstruct 和@PreDestroy ----------- ...
- 图的DFS。。类似树的DFS
Depth-First Search (DFS) Depth-first search (DFS) is an algorithm for traversing or searching tree o ...
- python django 模板语言循环字典
urls.py from django.conf.urls import url from django.contrib import admin from cmdb import views url ...
- log4j.xml配置,包含自定义log4j日志级别及输出日志到不同文件
一.配置 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE log4j:configura ...
- SWUST OJ NBA Finals(0649)
NBA Finals(0649) Time limit(ms): 1000 Memory limit(kb): 65535 Submission: 404 Accepted: 128 Descri ...
- Angular4——7.表单处理
在Angular中存在两种表单处理方式: 模版驱动式表单 表单的数据模型是通过组件模版中的相关指令来定义的.由于使用这种方式定义表单的数据模型时,我们会受限于HTML的语法,所以,模版驱动方式只适用于 ...