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链接的过程:
- 客户端向服务端请求数字证书
- 服务端向第三方数字认证机构请求生成一个数字证书(服务端公k钥+数字签名)返回给客户端
- 客户端拿到数字证书后在第三方数字认证机构校验证书真实性
- 客户端将对称加密密钥通过公钥加密后传输给服务端,双方通过这个对称加密密钥加密通讯
- tcp三次握手
- 客户端处于close状态,服务端处于listen状态
- 第一次握手:客户端发送SYN报文给服务端,SYN位=1,初始序列号=x,客户端进入SYN_SEND状态
- 第二次握手:服务端回送报文,服务端SYN位=1,ACK位=1,ack号=x+1,初始序列号=y,服务端进入SYN_REVD状态
- 第三次握手:客户端回送报文,ACK位=1,ack号=y+1,客户端进入ESTABLISHED状态,服务端收到ACK报文进入ESTABLISHED状态
以上是关于Https 证书校验加密机制的主要内容,如果未能解决你的问题,请参考以下文章