最近看了点https 做下总结  面的博客如果没有错误的话,理解起来绝对是醍醐灌顶!让人信服,如果我的理解有问题,请及时指正!

参考博客:    http://www.ruanyifeng.com/blog/2014/02/ssl_tls.html

https://www.cnblogs.com/qingergege/p/7811705.html

https://blog.csdn.net/qq_18653119/article/details/79096567

说一下自己的困惑,

1.CA 是干嘛的?

CA 拥有公钥,并向客户端发送数字签名(摘要用算法hash后,再用公钥加密),客服端用公钥解密还原之前的hash值,在用服务端发过来的公钥,采用同样的方式解密,比较hash

如果两个值相同,则表明服务器是对的,否则拒绝连接

2.会话秘钥是谁生产出来的?

看过上述博客之后,我们知道ssl连接包含四个过程,前三个过程均携带随机数,双方都参与,客户端2次,服务端1次,第三次的时候客户端发送第二个随机数并且用公钥加密,这个时候,服务器根据私钥解密得到值,并根据算法(DH或者其他算法),用三次随机苏,计算出 session key , 注意这个时候服务器会返回 encrypted_handshake_message(握手信息),并且是用当前生成的会话session key 加密的,加密的内容是

结合之前所有通信参数的 hash 值与其它相关信息生成一段数据,,...这句话比较笼统!copy到别人的协议头一份,看看返回了啥...

博客地址:https://blog.csdn.net/mrpre/article/details/77868570

它的图

客户端根据也同样用三个随机数,生成session key,解析,校验.所以是双发都生成了seeeion key,并且使用这个会话秘钥进行校验

https 学习总结的更多相关文章

  1. HTTPS学习总结

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 21.0px Verdana; color: #393939 } span.s1 { } HTTPS学习总结 ...

  2. https学习笔记三----OpenSSL生成root CA及签发证书

    在https学习笔记二,已经弄清了数字证书的概念,组成和在https连接过程中,客户端是如何验证服务器端的证书的.这一章,主要介绍下如何使用openssl库来创建key file,以及生成root C ...

  3. https学习笔记二----基础密码学知识和python pycrypto库的介绍使用

    在更详细的学习HTTPS之前,我也觉得很有必要学习下HTTPS经常用到的加密编码技术的背景知识.密码学是对报文进行编解码的机制和技巧.可以用来加密数据,比如数据加密常用的AES/ECB/PKCS5Pa ...

  4. HTTPS学习笔记一----HTTPS的基础理论知识

    首先推荐一本书,<HTTP权威指南>我就是看这本书入门的,对http协议有了更好的理解,学习https的理论知识我认为需要了解以下几点,需要一步步的深入学习: 1.HTTPS的基本概念? ...

  5. https 学习笔记

    参考 : http://www.cnblogs.com/JimmyZhang/archive/2008/10/02/Cryptograph.html https://blog.csdn.net/Jog ...

  6. HTTPS学习(二):原理与实践

    div.example { background-color: rgba(229, 236, 243, 1); color: rgba(0, 0, 0, 1); padding: 0.5em; mar ...

  7. HTTPS学习(一):准备知识

    div.example { background-color: rgba(229, 236, 243, 1); color: rgba(0, 0, 0, 1); padding: 0.5em; mar ...

  8. HTTP/HTTPS 学习笔记

    超文本传输协议(HyperText Transfer Protocol) 伴随着计算机网络和浏览器的诞生,HTTP1.0也随之而来,处于计算机网络中的应用层,HTTP是建立在TCP协议之上的. HTT ...

  9. 《图解http协议》之HTTPs学习笔记

    对于IP协议,并不陌生.TP协议是TCP/IP协议簇中的核心协议,也是TCP/IP的载体.所有的TCP,UDP,ICMP及IGMP数据都以IP数据报格式传输.IP提供不可靠的,无连接的数据传送服务.I ...

随机推荐

  1. 廖雪峰Java5集合-4Set-1使用Set

    集合 Set用于存储不重复的元素集合: boolean add(E e) boolean remove(Object o) boolean contains(Object o) int size() ...

  2. 廖雪峰Java5集合-2List-2编写equals方法

    List是一种有序链表: List内部按照放入元素的先后顺序存放 每个元素都可以通过索引确定自己的位置 boolean contains(Object o) 是否包含某个元素 int indexOf( ...

  3. [UE4]不精准射击 Random Unit Vector in Cone in Radians

  4. CountDownLatch的简单讲解

    正如每个Java文档所描述的那样,CountDownLatch是一个同步工具类,它允许一个或多个线程一直等待,直到其他线程的操作执行完后再执行.在Java并发中,countdownlatch的概念是一 ...

  5. 00009 - cat、tail、head、tee、wc、sort文件操作和过滤

    绝大多数命令行工作是针对文件的.我们会在本节中讨论如何观察及过滤文件内容,使用一条命令从文件中提取所需信息,以及对文件的内容进行排序. cat.tail.head.tee:文件打印命令这些命令的语法基 ...

  6. xgboost的sklearn接口和原生接口参数详细说明及调参指点

    from xgboost import XGBClassifier XGBClassifier(max_depth=3,learning_rate=0.1,n_estimators=100,silen ...

  7. CRM 2016 一个IFrame_A 刷新另一个 IFrame_B

    思路是 : 1 创建一个字段“new_xxx”. 2 注册字段 OnChange 事件. 3 OnChange 事件 刷新 IFrame_B子页面. CRM父页面JS: /// <summary ...

  8. BCGcontrolBar(三) 添加表格(Grid)组件

    表格组件和图表组件是BCG的亮点之一 如下图 BCG有众多的表格样式可供选择 下图是插入基本表格组件后的效果 首先在程序中添加 BasicGridCtrl.h BasicGridCtrl.cpp 因为 ...

  9. gulp 使用案例

    1.gulp 配置: // 引入 gulp var gulp = require('gulp'); var watch = require('gulp-watch'), //导入所有gulp需要的模块 ...

  10. sqoop导入导出

    sqoop产生背景 什么是sqoop sqoop的优势 sqoop1与sqoop2的比较 为什么选择sqoop1 sqoop在hadoop生态体系中的位置 sqoop基本架构 sqoop import ...