zoukankan      html  css  js  c++  java
  • SSL协议理解

    这一篇文章是对《基于SSL的select模式编程》的补充,因为在编程的时候涉及到很多的名词理解以及对与协议的理解有些难懂,我自己搜寻了多篇文章争取对SSL协议自己理解一下然后写出一个能速读的文章方便我后期忘记这个协议的详细内容也能再次快速掌握。
    https://www.cnblogs.com/hjbf/p/10248388.html
    (这篇文章对SSL协议过程描述的非常详细,很值得一看)

    但是针对认证过程,我认为以下的理解方式更清楚详细一些,对应的是以上文章的【1.2 服务器鉴别与密钥交换】也就是SSL单向认证过程
    服务器:server证书,ca证书(Certificate Authority颁发的证书,有权威性),

    【图片上的颜色与下文中相同颜色的是有关联的】

    (1)Server端向CA部门交钱申请一个ca证书,Server得到之后配置好,然后用ca证书的私钥生成签名【1】。
    (2)Client会维护一个CA列表,这个列表里面最重要的是对应的CA公钥(这个是可以根据Server的证书查询到的)。
    (3)Client向Server发送一个http连接请求得到Server证书。
    (4)Client得到Server证书之后,可以根据上面CA证书相关信息在本地找到对应的CA公钥。
    (5)Client鉴别【2】得到的Server数字签名的真伪,如果是假的,无法建立连接,如果是真的,表示Client对 Server的验证通过,Client认为Server确实是它要连接的对象,然后建立非对称连接。
    (6)在非对称连接的基础上,Client和Server商议出一个对称加密的的连接,一般方法有(AES,DES,3DES)。
    (7)在对称加密连接上进行http报文的传输。

    【1】 使用CA证书私钥生成Server的数字签名过程:
    比如某Server域名是 ycy.com

    【2】Client鉴别Server数字签名的过程
    当两种方式计算出来的abstract是一样的时候,可以认为通过了校验,可以建立非对称连接。

    这篇文章主要是对证书校验过程的理解
    以上

  • 相关阅读:
    为MYSQL加注释--mysql注释符
    基于SSM3框架FreeMarker自定义指令(标签)实现
    SpringMVC工作原理
    Web系统从Oracle迁移至MySQL
    Memcached集群/分布式/高可用 及 Magent缓存代理搭建过程 详解
    深入理解SQL的四种连接-左外连接、右外连接、内连接、全连接
    MySQL存储引擎
    mysql常用函数
    转:FIFO的定义与作用
    转:memset用法详解
  • 原文地址:https://www.cnblogs.com/y-c-y/p/12124685.html
Copyright © 2011-2022 走看看