文章目录
一. TLS概述
1. TLS概述
- TLS 握手的作用之一是身份认证),被验证的一方需要提供一个身份证明。在 HTTPS 的世界里,这个身份证明就是 「TLS 证书」,或者称为 「HTTPS 证书」。
-
例如,我们在访问
https://www.youzan.com
时,浏览器会得到一个 TLS 证书,这个数字证书用于证明我们正在访问的网站和证书的持有者是匹配的,否则因为身份认证无法通过,连接也就无法建立。
-
浏览器得到的是一个证书的链表,这个链表叫证书链(Certificate Chain)。
-
2. HTTPS
协议栈与 HTTP
的唯一区别
HTTPS
多了一个安全层(Security Layer),即TLS/SSL
。SSL
是最早的安全层协议,TLS
由SSL
发展而来,下面我们统称TLS
。
3. TLS协议版本
OkHttp
是android端最火热的一个轻量级框架,用于替代HttpUrlConnection
和Apache HttpClient
。- 它用一个
enum
类型来表示 TLS 协议的不同版本。可以看到最早的版本是 SSLv3,诞生于 1996 年,最新的版本是 TLSv1.3。
public enum TlsVersion {
TLS_1_3("TLSv1.3"), // 2016. (最新的版本)
TLS_1_2("TLSv1.2"), // 2008.
TLS_1_1("TLSv1.1"), // 2006.
TLS_1_0("TLSv1"), // 1999.
SSL_3_0("SSLv3"), // 1996.(最早的版本)
;
final String javaName;
}