news 2026/9/14 17:29:09

公钥私钥密钥

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
公钥私钥密钥

公钥

服务端生成的密钥,和私钥一起成对生成(非对称加密),公钥可以公开给所有人,在TLS加密过程中,公钥负责传输给客户端,客户端在自己端生成密钥(对称加密),然后用公钥加密密钥返还给服务端,服务端通过私钥解密,拿到对称加密的密钥,后续的传输通道信息就用密钥来加密解密。

私钥

服务端生成的密钥,和公钥一起生成,不可公开,用于解密公钥加密的密钥

非对称加密

常见算法
RSA:最常用,TLS 证书、密钥协商、登录签名都用
ECC:椭圆曲线加密,同等安全密钥更短、速度更快,移动端、物联网常用
SM2:国产国密非对称算法,替代 RSA
DSA/ECDSA:主要用于数字签名,不适合加密

对称加密

常见算法
AES:目前最主流、行业标准,TLS、APP 接口、文件加密全在用,分 AES-128/192/256
DES:老旧、安全性弱,基本淘汰
3DES:DES 升级版,现在也逐步被 AES 替代
SM4:国产国密算法,金融、政务刚需
RC4:流式对称加密,老旧场景用,安全性一般

附加:哈希摘要(常配合加密用,不算加密算法
MD5、SHA1、SHA256、SHA512、SM3(国密哈希)作用:做完整性校验、签名摘要,不可逆、不能解密。

CA证书

在传统的HTTPS中,第一步是校验、第二步是加密,上面所说的公钥私钥实际上就是加密步骤,CA签名用于第一步校验,那么是怎么校验的?先了解几个概念

一、CA 证书是什么?
全称:数字证书 / X.509 证书
可以理解成:网站 / 服务端的官方实名认证身份证
由权威第三方 CA 机构(比如阿里云、Let’s Encrypt、银行 CA)颁发。
作用两个:

  1. 证明这个域名 / 服务器是真的、不是钓鱼伪造的
  2. 证书里自带服务端的公钥,给客户端用

CA 证书里面包含什么核心内容:
按照 X.509(TLS 用的就是这种)的标准,一张证书主要包含这些字段:

  • 版本(Version):如 v3
  • 序列号(Serial Number):颁发者给的唯一编号
  • 签名算法(Signature Algorithm):证书是用什么算法签的
  • 颁发者(Issuer):是谁签发的(一般是一个 CA)
  • 有效期(Validity):Not Before / Not After
  • 主体(Subject):这张证书是给谁的(比如域名 CN=example.com)
  • 主体公钥信息(Subject Public Key Info):就是“这个证书主体”的公钥和算法信息
  • 颁发者唯一ID/主体唯一ID(可选)
  • 扩展(Extensions):比如密钥用途(Key Usage)、SAN(多域名)、CRL/OCSP 地址、基本约束(CA: true/false)等
  • 签名(Signature):用颁发者(CA)的私钥对以上内容的签名,用于验证证书未被篡改

日常说“CA证书”其实是三个不同的东西,很容易混:

服务器证书(终端实体证书,End-Entity Certificate)

  • 主体是具体的服务器/域名(比如 CN=www.example.com 或 SAN=www.example.com)
  • 里面包含“服务器公钥”(Subject Public Key Info 就是服务器公钥)。
  • 客户端用它来验证服务器身份,并做密钥交换或验证签名。

中间 CA 证书(Intermediate CA Certificate)

  • 主体是一个中间 CA。
  • 里面包含的是“这个中间 CA 的公钥”,不是具体某台服务器的公钥。
  • 用它来验证服务器证书的签名。

根 CA 证书(Root CA Certificate)

  • 主体是一个根 CA。
  • 里面包含的是“这个根 CA 的公钥”。
  • 一般内置在操作系统/浏览器信任库里,用于验证中间 CA
    或终端实体证书的签名链。

二、CA 公钥、CA 私钥 是什么?
CA 本身也是一对非对称密钥(RSA/ECC):
1. CA 私钥

  • 归 CA 机构绝密保管,绝不外泄
  • 用途:给别人发的证书做签名盖章 你网站的证书,就是 CA 用CA 私钥签的名。

2. CA 公钥

  • 公开全世界都能拿到

  • 操作系统、浏览器预装了各大根 CA 的公钥

  • 用途:验证证书真伪 客户端拿CA 公钥解密验签: 能验过 → 证书是正规 CA 发的、没被篡改 验不过 → 危险、钓鱼网站

三、校验步骤

  1. 服务端用自己的公钥申请证书
  2. CA将证书信息(公钥、域名等)做哈希(sha256算法)
  3. 使用CA私钥签名哈希值(加密),然后将内容赛到CA证书(证书原文+数字签名)中
  4. 客户端拿到服务端证书,取出CA证书里的签名,用公钥解密,然后对证书里的信息做哈希(sha256),将两个值作对比(验签)
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/14 17:22:52

高并发淘客系统Redis与本地缓存优化实践

1. 淘客返利系统的缓存挑战在典型的淘客返利系统中,每天需要处理数千万级别的商品查询请求。当用户通过返利链接跳转到电商平台时,系统需要实时查询商品信息、计算返利比例并生成追踪代码。这种场景下,数据库直接承受的QPS可能高达5万&#x…

作者头像 李华