Https 证书校验加密机制

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Https 证书校验加密机制相关的知识,希望对你有一定的参考价值。

参考技术A

数字证书中包含的信息:
1、证书的版本信息;
2、证书的序列号,每个证书都有一个唯一的证书序列号;
3、证书所使用的签名算法;
4、证书的发行机构名称,命名规则一般采用X.500格式;
5、证书的有效期,通用的证书一般采用UTC时间格式;
6、证书所有人的名称,命名规则一般采用X.500格式;
7、证书所有人的公开密钥;
8、证书发行者对证书的签名。

流程:
1.客户端发送https请求。
2.服务端返回数字证书给客户端。
3。 客户端进行验证 ,验证成功,则随机生成字符串,并使用证书上的公钥进行加密发送给服务端。
4.服务端使用私钥对加密串进行解密,解出来的就是对称加密的密钥。
第三步中客户端具体验证原理:
签名:服务器对原信息进行HASH计算(一般是sha1或sha256)生成一个hash值,这个值就是指纹,然后将指纹用 CA机构的根私钥 进行非对称加密,生成的就是数字签名。
浏览器从证书中获取证书的颁发机构,从系统内置CA机构证书中查找,如果没有,就会有警告提示,就的话就获取对应机构的根公钥,用根公钥对签名进行非对称解密,得到这个指纹hash值。客户端再次对原信息行一次HASH计算,得到一个新的指纹hash1值,如果解密出来的hash与浏览器自己算出来的hash1一致,就说明证书没有被修改过。

(之所以是对指纹进行加密,是因为如果对原文进行加密的话,非对称加密的速度非常的慢,效率不高)

计算机网络基础

  • http默认请求端口80,https默认请求端口443

 

  • http与https区别

https=http+ssl

获取一个ssl链接的过程:

  1. 客户端向服务端请求数字证书
  2. 服务端向第三方数字认证机构请求生成一个数字证书(服务端公k钥+数字签名)返回给客户端
  3. 客户端拿到数字证书后在第三方数字认证机构校验证书真实性
  4. 客户端将对称加密密钥通过公钥加密后传输给服务端,双方通过这个对称加密密钥加密通讯

 

  • tcp三次握手
  1. 客户端处于close状态,服务端处于listen状态
  2. 第一次握手:客户端发送SYN报文给服务端,SYN位=1,初始序列号=x,客户端进入SYN_SEND状态
  3. 第二次握手:服务端回送报文,服务端SYN位=1,ACK位=1,ack号=x+1,初始序列号=y,服务端进入SYN_REVD状态
  4. 第三次握手:客户端回送报文,ACK位=1,ack号=y+1,客户端进入ESTABLISHED状态,服务端收到ACK报文进入ESTABLISHED状态

以上是关于Https 证书校验加密机制的主要内容,如果未能解决你的问题,请参考以下文章

AndroidV1,V2,V3签名原理详解

SSL安全证书的实现机制

Spring cloud微服务安全实战-3-6API安全机制之数据校验_batch

一文弄懂关于证书,签名,ssl,android包签名机制。

漫谈iOS程序的证书和签名机制

HTTPS:证书