SSL的请求过程

名词解释

公钥即证书:由服务端传递给客户端,用于客户端的CA证书校验合法性;非对称加密clientKey;
CA证书:内置于系统中用于校验公钥的合法性
私钥:服务端保存,用于非对称解密clientKey
clientKey:公钥验证通过后由浏览器生成clientKey通过对称加密和服务端进行交互

发送请求的过程

  1. 浏览器发送请求给服务端,这时候端口是443;
  2. 服务端返回公钥【证书】给客户端;
  3. 浏览器通过系统内置的CA证书验证证书的合法性,如果不合法请求终止;
  4. 浏览器生成clientKey明文,并且用公钥加密clientKey,发送密文的clientKey给服务端;
  5. 服务端得到加密过的公钥,用私钥解密,获取明文clientKey;
  6. 浏览器用clientKey通过对称加密方式通信:
    1. 浏览器通过clientKey加密请求,发送给服务端;
    2. 服务端通过clientKey解密请求,并且将响应用clientKey加密发给浏览器;
    3. 浏览器接到密文响应,用clientKey解密;

图解

avator