https建立连接的过程
1.客户端发送请求到服务器端
2.服务器端返回证书和公开密钥(公开密钥作为证书的一部分而存在)
3.客户端验证证书和公开密钥的有效性,如果有效,则生成共享密钥(用于对称加密),并使用服务器的公开密钥加密发送到服务器端
4.服务器端使用私有密钥解密数据,并使用收到的共享密钥加密数据,发送到客户端
5.客户端使用共享密钥解密数据
至此https连接建立
总结整个过程
1.服务器向CA机构获取证书(假设这个证书伪造不了),之后开始接受请求
2.当浏览器首次请求服务器的时候,服务器返回证书给浏览器。(证书包含:公钥+申请者与颁发者的相关信息+签名)
3.浏览器得到证书后,开始验证证书的相关信息,证书有效(是否过期等),验证过程比较复杂 4.验证完证书后,如果证书有效,客户端是生成一个随机数,然后用证书中的公钥进行加密,加密后,发送给服务器,服务器用私钥进行解密,得到随机数。
5.之后双方便开始用该随机数作为钥匙,对要传递的数据进行加密、解密