1. 介绍
SSL 证书 用于在客户端和服务器之间创建加密通道。传输信用卡详细信息、账户登录信息或任何其他敏感信息时必须进行加密,以防止窃听。
使用 SSL 证书时,数据在通过互联网传输之前会被加密。只有实际发送数据的服务器才能解密加密数据。这确保了您提交给网站的信息不会被窃取。
从 2014 年 6 月 8 日起,谷歌宣布,在您的网站上安装 SSL 证书 将会提高您的排名位置,这是使用 SSL 的另一个好理由。
证书本身代表的是编码为 base64 的数据,包含关于该证书签发给的实体的信息、加密所需的公钥和数字签名验证,以及使用证书签发者的私钥生成的数字签名。

SSL 证书必须在服务器端安装。当您访问受受信任的证书授权机构发出的 SSL 证书保护的网站时,您将在其 URL 的开头看到 https://。浏览器还会通过在地址栏中显示“锁”图标显示连接的安全性:
![]()
2. SSL 证书的类型
SSL 证书可以划分为 3 种验证类别:
要求证书申请者仅需证明其对域名的控制权。签发的证书包含在证书请求中提供的域名。
要求证书申请者证明其公司是一家注册的、对法律负责的企业,并通过域名验证。签发的证书包含证书申请者的域名和公司名称。
包括上述两种类型的验证要求和额外要求。签发的证书包含证书申请者的域名和公司名称。值得一提的是,只有扩展验证证书会在网页浏览器中显示带有拥有者公司名称的绿色条。
技术概述
词汇表
- 非对称加密 - 需要不同的密钥进行加密和解密过程的密码;
- 密码套件 - 在 SSL/TLS 协议中使用的密钥交换、身份验证、加密和消息验证码 (MAC) 算法的集合;
- 握手 - 在 SSL/TLS 中用于安全参数协商的协议使用;
- 密钥交换 - 在 SSL/TLS 的上下文中,客户端和服务器安全地建立会话的前主密钥的方法;
- 主密钥 - 用于生成加密密钥、MAC 密钥和初始化向量 (IV) 的密钥材料;
- 消息验证码 (MAC) - 针对消息和密钥计算的单向哈希函数;
- 前主密钥 - 用于主密钥衍生的密钥材料;
- 对称加密 - 用于加密和解密过程的密码需要相同的密钥;
4. 对称与非对称加密
SSL/TLS 协议使用了两种加密类型:对称和非对称。
对称加密(也称为“批量加密”)意指加密和解密使用相同的密钥。在 SSL/TLS 中,对称密码通常用于应用数据的加密。
对称密码的示例: AES、RC4、DES
非对称加密(也称为“公钥加密”)意指加密和解密使用不同的密钥。
包含在 CSR 和后来在 SSL 证书中的公钥用于加密和签名验证。私钥通常保存在服务器上,可以根据握手期间协商的密码套件的不同,使用于解密计算主密钥所需的前主密钥,或签名计算主密钥所需的参数。
简而言之,在 SSL/TLS 协议的上下文中,非对称加密的目的是为双方(客户端/服务器)计算安全的对称加密密钥。
非对称加密系统的示例: RSA、DHE、ECDHE
5. 密码套件
密码套件是在 SSL/TLS 协议中使用的密钥交换、身份验证、加密和消息验证码 (MAC) 算法的集合。
示例:
密码套件 TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 意味着
- DHE 用于密钥交换
- RSA 用于身份验证
- AES_256_GCM 用于批量加密
- SHA384 是用于 MAC 计算的哈希函数
6. 握手
握手是 SSL/TLS 中用于安全参数协商的协议。根据密码套件,握手可以由不同的消息组成,这些消息在双方之间传送。
下图描述了一个最常见的握手消息流,该消息流意味着使用 RSA 公钥进行前主密钥的加密。这样的握手消息流适用于以下类型的密码套件(示例):
TLS_RSA_WITH_RC4_128_MD5
TLS_RSA_WITH_RC4_128_SHA
TLS_RSA_WITH_3DES_EDE_CBC_SHA
TLS_RSA_WITH_AES_128_CBC_SHA256
TLS_RSA_WITH_AES_256_CBC_SHA256
TLS_RSA_WITH_AES_256_GCM_SHA384
