彻底搞清楚SSL/TLS

1 TLS/SSL的前世今生
SSL(Secure Sockets Layer)最初由Netscape定义, 分别有SSLv2和SSLv3两个版本(SSLv1未曾对外发布); 在SSLv3之后SSL重命名为TLS。
TLS(Transport Layer Security)版本从TLSv1.0开始, TLSv1.0是在SSLv3的基础上升级而来。

协议
时间
建议
说明

SSLv1
/
/
实际从未公开发布。

SSLv2
1995
弃用
IETF已于2011年弃用。

SSLv3
1996
弃用
IETF已于2015年弃用。

TLSv1.0
1999
兼容

TLSv1.1
2006
兼容

TLSv1.2
2008
主推
目前最新可用版本

TLSv1.3
/
/
2016开始草案制定

多年以来已弃用的SSL协议也暴露出了一些高危漏洞(例如: POODLE, DROWN); 因此建议服务器禁用SSL3.0及SSL2.0, 只启用TLS协议。
2 证书如何工作
SSL/TLS使用证书来实现对数据的加密传输以及身份认证。
3 TLS握手过程

3.1 导致握手失败的一些原因

两边协议版本不兼容
两边加密算法无匹配项

更多关于如何优雅处理HTTPS中的证书问题可参考这里。
附录
[1] RFC6176 – Prohibiting Secure Sockets Layer (SSL) Version 2.0https://tools.ietf.org/html/r…[2] RFC7568 – Deprecating Secure Sockets Layer Version 3.0https://tools.ietf.org/html/r…[3] RFC2246 – The TLS Protocol Version 1.0https://tools.ietf.org/html/r…[4] RFC4346 – The Transport Layer Security (TLS) Protocol Version 1.1https://tools.ietf.org/html/r…[5] RFC5246 – The Transport Layer Security (TLS) Protocol Version 1.2https://tools.ietf.org/html/r…[6] RFC2246 – The TLS Protocol Version 1.0https://tools.ietf.org/html/r…[7] RFC4346 – The Transport Layer Security (TLS) Protocol Version 1.1https://tools.ietf.org/html/r…[8] RFC5246 – The Transport Layer Security (TLS) Protocol Version 1.2https://tools.ietf.org/html/r…[9] The Transport Layer Security (TLS) Protocol Version 1.3https://tools.ietf.org/html/d…[10] SSL and TLS Protocolshttps://wiki.openssl.org/inde…

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理