SSL : secure sockets layer , 一种国际标准的身份认证与加密协议。
SSH: secure Shell. 加密的shell,基于SSL协议的用来替代telnet 协议,
Openssl: ssl 协议的C语言开源实现
Openssh: ssh 协议的C语言开源实现。
TSL: TLS(传输层安全)是更为安全的升级版 SSL。由于 SSL 这一术语更为常用,因此我们仍然将我们的安全证书称作 SSL。
HTTPS可以使用TLS或者SSL协议,而openssl是TLS、SSL协议的开源实现,提供开发库和命令行程序。很多涉及到数据加密、传输加密的地方都会使用openssl的库来做。可以理解成所有的HTTPS都使用了openssl。
要说清楚 HTTPS 协议的实现原理,至少需要如下几个背景知识。
- 大致了解几个基本术语(HTTPS、SSL、TLS)的含义
- 大致了解 HTTP 和 TCP 的关系(尤其是“短连接”VS“长连接”)
- 大致了解加密算法的概念(尤其是“对称加密与非对称加密”的区别)
- 大致了解 CA 证书的用途
- TCP通信协议的几次握手