创建自签名TLS/SSL证书和私钥

TLS(Transport Layer Security)-传输层安全协议,及其前身SSL(Secure Sockets Layer)-安全套接层是一种安全协议,在传输层对网络连接进行加密。TLS协议由两层组成:TLS 记录协议(TLS Record)和 TLS 握手协议(TLS Handshake)。较低的层为 TLS 记录协议,位于某个可靠的传输协议(例如 TCP)上面,与具体的应用无关,所以,一般把TLS协议归为传输层安全协议。TLS握手协议使用该层中的公钥和证书来处理对等用户的认证,以及协商算法和加密实际数据传输的私钥。这个过程是在TLS记录协议的顶部执行的。TLS所采用的证书系统可以确保客户端与服务端传输的数据是被加密的,且服务端是被受信任的,但是前提是TLS所采用的证书是由信任的证书颁发机构(CA)颁发的。基于测试或内部使用的目的,本文将介绍如何创建自签名的TLS/SSL证书,如何配置Nginx使用这个自签名证书和私钥,以及如何在Linux, Windows和Mac客户端安装这个证书。需要说明的是自签名证书无法确认服务端是被受信任的。

阅读更多