TLS/SSL 数字证书

1 阅读2分钟

数字证书

TLS/SSL 数字证书就像是互联网世界的“数字身份证”和“安全锁”,它的核心作用是在客户端(如您的浏览器)和服务器(如网站服务器)之间建立一条安全可靠的加密通信通道。

证书核心结构包含:

  • 服务器身份信息(域名 / IP、组织名称等)
  • 证书有效期、用途、签发机构等元数据
  • 数字签名(由证书签发者用私钥生成),对证书进行签名,在法律层面,电子签名与手写签名具有同等的法律效力,不可否认。
  • 服务器公钥(用于加密和验签),任何人都可以用它来验证签名是否由对应的私钥生成

证书类型

  • 自签名证书(Self-Signed Certificate):由服务器自己生成、自己签名的证书,签发者和使用者是同一主体
  • CA 签名证书(CA-Signed Certificate):由权威第三方证书颁发机构(CA,如 Let's Encrypt、DigiCert 等)验证服务器身份后签发的证书

原理:

  • 非对称加密与对称加密结合:在建立连接的初始“握手”阶段,使用非对称加密(如RSA算法)来安全地交换信息,协商出一个只有通信双方知道的“会话密钥”。此后的通信则使用速度更快的对称加密(如AES算法)和这个会话密钥来加密实际传输的数据。这种结合方式既保证了密钥交换的安全,又兼顾了传输效率。
  • 基于证书的身份验证:当你的浏览器访问一个HTTPS网站时,网站服务器会将其TLS/SSL证书发送给浏览器。证书中包含网站的公钥、所属组织、颁发机构(CA)等信息。浏览器会检查该证书是否由受信任的CA签发、是否在有效期内、是否与正在访问的网站域名匹配等。这套验证机制能有效防止你连接到假冒网站。

认证模式

单向认证(最常用):客户端不需要自己的证书,只需要验证服务器的证书即可完成 TLS 握手

双向认证(高安全场景):服务器不仅要向客户端出示证书,还会要求客户端出示自己的证书