https和数字证书

什么是HTTPS

HTTPS是在HTTP和TCP网络层之间新增了一层SSL层(TLS的主要目标是使SSL更安全,并使协议的规范更精确和完善)

HTTPS协议的主要作用可以分为两种,一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网络的真实性

数字证书的原理

数字签发认证机构(CA)

也称为电子商务认证中心、电子商务认证授权机构,是负责发放和管理数字证书的权威机构,并作为电子商务交易中受信任的第三方,承担公钥体系中公约的合法性检验的责任。

普通数字证书签发的流程

  1. 首先用RSA产生一对公私钥,私钥自己好好保存好,把公钥粘贴到证书签发机构网站,同时填入有效期,域名等消息。
  2. CA会加上颁发者等信息,这个整体叫作X。
  3. 对X使用某著名hash算法对整体内容hash得到Y,
  4. 对Y使用颁发机构的私钥对这些信息进行一次签名得到Z。
  5. 然后将X,Z连成一个文件,这个文件就是所谓的数字证书了。所以数字证书里,包括证书持有者的身份信息,证书持有人的公钥,以及签名信息。

图1

数字证书的自(根证书)签发流程

区别:

  1. 颁发者是自己
  2. 对B使用自己的私钥签名,而不是颁发机构的私钥

https利用数字证书来保证传输的可靠性

  1. 当client向server发送请求时,server返回自身的证书(里面包括server的公钥),以下简称数字证书
  2. client利用CA证书公钥解码数字证书中的签名Z,得到上文中的Y1。
  3. 同时对数字证书中的X通过相同的hash算法加密,得到Y2,
  4. 如果Y1等于Y2则证明数字证书真实有效且可信任。
  5. client产生一个随机字符串用于后面的对称加密,用数字证书的公钥对这个字符串加密传送给server,server用自己的私钥解密后保存
  6. 然后双方的通信采用这个字符串对称加密通信

图2
其中图2的valid见图1的vertification​​​​​​​​

如何申请普通数字证书

方法1
  1. 自己通过openssl生成公钥和私钥,把公钥复制到CA网站,并填入其他相关信息,获取到证书。
  2. 把证书和私钥拷贝到网站入口,比如nginx相关目录下
方法2
  1. 去CA网站填入相关信息,让网站生成证书和私钥。
  2. 把证书和私钥拷贝到网站入口,比如nginx相关目录下

https请求

  1. https可以称为有7次握手,分别是tcp的3次握手和ssl的4次握手
  2. https的建立连接的时延大概是http的2-4倍
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值