https跟http相比较,采用密文来传递消息,能够防止篡改内容等。
https关键就是ssl握手的过程。
概括来说,ssl握手就是用非对称加密的过程来协商一个对称密钥,然后用此对称密钥对之后的消息内容进行对称加密。
- 前三步,客户端验证服务端身份,并完成对称加密密钥原料的交换
其中,验证服务端身份,是通过服务端发送证书给客户端,客户端验证证书这种形式完成的。
为什么只有服务端可以发送一个正确的证书?因为证书中有一个数字签名,这个签名是把证书内容通过证书颁发者的私钥加密后生成的,客户端通过证书颁发者的公钥可以解密此签名,可以信任,能够正确对证书内容签名的,只有证书颁发者,所以可以信任此证书是由正确站点返回的。