https
对称加密:相同的秘钥
tls协议对称加密:
客户端访问wed服务器时首先发送给服务器一个hello请求其中包括客户端所支持的tls版本,支持的加密算法,然后服务器接受到这些信息后就会选择最优的tls版本和加密算法,并将这些信息反馈给客户端,然后客户端响应信息生成一段随机的字符串通过使用指定的加密函数和算法,这段随机字符串将会生成一对密钥,随机字符串被称为会话秘钥,客户端将预主秘钥等信息发送给服务器,服务器在接受到东西之后以同样的方式生成一相同的会话密钥,最后他们之间就可以使用会话密钥进行交流
非对称加密:
其中有公钥和私钥其中公钥对外公开,私钥只能自己知道。服务器在建成的时候就会生成一对公钥和私钥,在客户端要访问服务器的时候,服务器会将自己的公钥发送给客户端,然后客户端自己生成自己的预主密钥,然后用服务器的公钥给预主密钥加密,并发送给服务器,服务器接受到这一加密文件就会用自己的私钥来获取其中的预主密钥,最后服务器和客户端都有一对相同的私钥和密钥,并将其生成只有他们俩知道的会话密钥,保证了来往数据的安全
证书加密:
由证书颁发机构CA所签发,是唯一标识一个站点身份信息
当客户端访问服务器时客户端和服务器之间就会tcp三次握手建立联系,客户端向服务器发送hello请求请求中含有客户端支持的tls版本和支持的加密算法然后服务器接受请求并返回一个hello请求并含有 tls版本和加密算法,并将证书发送给客户端,客户端收到证书首先验证证书的指纹和签名,来证明证书的真实性,验证成功后用系统中的CA公钥从证书中提取出服务器的公钥并制造出自己的私钥,用提取出来的公钥加密私钥,将加密的私钥发送给服务器,服务器用自己的私钥解开文件,得到私钥,最后服务器和客户端生成自己的会话私钥,他们以后的回话就用会话密钥加密。(哈希计算:是一种单向加密算法任一长度的输入在经过哈希计算后都会得到一串长度相等的字符串称为散列值它是是不可逆的,唯一的)
跟证书:验证证书的真实性,用哈希计算设置一个散列值用作证书指纹,并将证书和算法发送给服务器,服务器在发送给客户端,客户端用相同的算法解密传来的散列值来验证证书的真实性没有被篡改
标签:加密,证书,密钥,https,服务器,私钥,客户端 From: https://blog.csdn.net/2401_87532517/article/details/143024793