SSL / TLS 介绍

简单的说SSL是安全套接层(secure sockets layer),SSL 废弃之后,TLS是SSL的继任者,叫传输层安全(transport layer security)。但一般我们还是称呼为 SSL。

而 SSL 说白点,就是在明文的上层和TCP层之间加上一层加密,这样就保证上层信息传输的安全。如HTTP协议是明文传输,加上SSL层之后,就有了雅称HTTPS。它存在的唯一目的就是保证上层通讯安全的一套机制。

一般来说在,在 SSL 传输当中,除了在建立传输链路的时候会用到非对称加密 (用于加密 对称加密 的密钥),后续的内容传输阶段都是使用的对称加密。这是因为对称加密速度高,可加密内容较大,用来加密会话过程中的消息,而非对称加密加密速度较慢,但能提供更好的身份认证技术。

除此之外,需要记得,SSL/TLS是一种工作原理,openssl和mbedtls是SSL/TLS协议的具体实现,很类似于 TCP/IP协议和socket之间的关系。

证书申请流程

在设置 SSL 的时候,我们常常会遇到许多文件,有时候很容易混淆,下面就将它们一一列举出来。

而对于 SSL Server,同样存在一个私钥/公钥对

其他后缀的文件:

通过 server.pub 生成一个请求文件 server.csr,请求文件中包含有 server 的一些信息,如域名/申请者/公钥等。

server 将请求文件 server.req 递交给 CA,CA验明正身后,将用 ca.key 和请求文件加密生成 server.crt

这里可以参见 创建证书的例子