代码编织梦想

证书申请

比如说bob有一个网站bob.cn,bob生成了一对公私钥,其把个人身份及公钥发送给CA登记机构,CA登记机构验证bob的身份,比如是个dv证书,就看证书所对应的域名是不是你的,域名是不是指向你的服务器。登记机构验证通过之后,就会把证书签名申请发送给CA机构,CA机构用其私钥签名之后,颁发证书给bob.cn网站。bob就可以在其web服务器上部署证书。

在机构证书中,使用到了非对称加密的验签,比如我们服务器的nginx中会配置ssl.cert,以及ssl.key(private key)(私钥中包含了公钥)。

TLS握手

在这里插入图片描述

  1. client发送hello,client会告诉server,我支持哪些安全套件

  2. server发送hello,server告诉client,我选择哪个安全套件,比如选定了某个椭圆曲线

    TLS安全密码套件:
    在这里插入图片描述
    密钥交换算法:ECDHE

    身份验证算法:RSA

    对称加密算法:AES_128_GCM

    签名hash算法:SHA_256

  3. server发送证书,用于认证服务器的身份

    当client拿到这个证书之后,其如何进行验签呢?

    其首先提取成两部分,第一部分就是网站身份数据,通过证书提供的一个hash算法,生成一个hash值。

    第二部分是我们用CA证书私钥签名后的密文,用CA机构的公钥验签,如果验签成功,就说明这块内容确实是CA结构所加密的,也就是验证了CA机构的合法性。

    再检查两段hash值,匹配则验签成功。 在这里插入图片描述

  4. server发送服务器所生成的ClientKey(这个是DH密钥交换所使用的)

  5. server 发送 hello done

    2到5步可以认为是同时发送的

    也就是1到5步 只消耗了一个RTT

  6. client也生成一个ClientKey,发送给服务器端(这个是DH密钥交换所使用的)
    这里就完成了DH秘钥交换协议,DH密钥交换原理,参考:从数学角度讲解DH密钥交换算法、非对称加密、数字签名

  7. 两端同时生成对称加密密钥

  8. 后面就可以基于这个加密密钥进行加密通讯了

    6到8步,也是一个RTT,所以握手是两个RTT

报文一去一回需要的时间:RTT(Round Trip Time)

补充:charles抓取https原理

参考:浅谈Charles抓取HTTPS原理
在这里插入图片描述

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/u013905744/article/details/110959460

NFS Linux与Windows本地互相访问 实现开机自动挂载-爱代码爱编程

配置 NFS 服务器并实现开机自动挂载 NFS 服务端概述:安装NFS配置文件位置启动 NFS 服务实现开机自动挂载 NFS 服务共享设备: NFS 服务端概述: NFS,是 Network File System 的简写,即网络文件系统。网络文件系统是 FreeBSD 支持的文件系统中的一种,也被称为 NFS.,NFS 允许一个系统在网络上

网络相关知识总结-爱代码爱编程

一、互联网是如何工作的 1、简单的互联网构成2、IP地址: 任何连接到网络中的电脑都需要有一个唯一的地址来标记它,叫做 “IP 地址” (IP代表网络协议)。这个地址由四部分被点分隔的数字序列组成,比如:192.168.2.10。 3、我们给IP地址取一个容易阅读的别名:域名,我们通过这些域名可以很容易的通过网络连接到电脑。比如,google.com 被用

ubuntu12,。10-爱代码爱编程

12.10总结 命令全拼 pwd:Print work directory 打印工作目录 ls:list 列表显示 cd:change directory 改变目录 cd命令: root家目录:/root 普通用户家目录:/home/用户文件夹 Cd回车进入家目录 @前是用户 @后是计算机名 ~是家目录 $是普通用户 #是管理用户 Cd –

从数学角度讲解DH密钥交换算法、非对称加密、数字签名-爱代码爱编程

背景知识 数字可以分为两大部分: 不可再分的数:prime number质数 可以再分的数:composite number 和数 每个数字可以描述为一个“锁” 每个数字有且只有一种质因数分解,把质因数分解看做是“钥匙”,任何两个数的质因数分解都不同。 对于锁,有一个基本的要求:朝一个方向容易,朝反方向难。one-way function单向函数。

Linux网络中部署YUM仓库及NFS共享服务-爱代码爱编程

文章目录 一、YUM概述(一)、YUM (Yellow dog Updater Modified)(二)、准备安装源1、软件仓库的提供方式2、RPM软件包的来源(三)、准备安装源1、构建CentOS 7 软件仓库(放本地光盘镜像的软件包)2、在软件仓库中加入非官方RPM包组(即自己从网上下载的软件包)(四)、访问YUM仓库1、为客户机指定YUM仓库

第一种高效自动装机方法之PXE高效批量网络装机-爱代码爱编程

文章目录 一、PXE概述(一)、PXE简介(二)、PXE批量部署的优点(三)、若要搭建PXE网络体系,必须满足以下几个前提条件:二、搭建PXE远程安装服务器(操作步骤)(一)、安装并启用TFTP服务(二)、安装并启用DHCP服务(三)、准备Linux内核、初始化镜像文件(四)、准备PXE引导程序(用于PXE网络安装的引导程序为 pxelinux.0