设备认证中的 x509 证书

设备认证中的 x509 证书

在设备接入场景里,证书不只是给网页用,也常用于设备身份识别。核心目标是让平台确认“设备是谁”,并确认“设备确实持有对应私钥”。

1. 为什么设备也要用证书

  • 设备需要向平台证明身份。
  • 平台需要确认这台设备是不是可信主体。
  • 连接建立后,还需要保证通信内容只能被双方读懂。

2. CA 分级思路

证书签发机构应该是可信第三方。企业内部通常会按用途划分为多级 CA:

  • 企业根 CA:最高信任锚点。
  • 中间 CA:负责具体业务域的签发和管理。
  • 设备证书:发给具体设备,用于接入认证。
企业根 CA
  │
  ├─ 中间 CA 1
  │    ├─ 设备证书 A
  │    └─ 设备证书 B
  │
  └─ 中间 CA 2
       ├─ 供应商证书 C
       └─ 供应商证书 D

3. 设备证书的生成

设备证书通常走“生成密钥对 -> 创建 CSR -> 用 CA 签发”的流程。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 生成密钥对
openssl genrsa -out e01.key 2048

# 生成证书签名请求
openssl req -new -key e01.key -out e01.csr

# 由中间 CA 签发设备证书
openssl x509 -req \
-in e01.csr \
-CA ca.pem \
-CAkey ca.key \
-CAcreateserial \
-out e01.pem \
-days 500 -sha256

4. 设备证书的验证

设备认证通常分两步:

  1. 验证证书链是否可信。
  2. 验证持有证书私钥的主体,确实是证书对应的那台设备。

4.1 证书可信验证

平台接收到设备证书后,通常会做这些事:

  1. 读取证书颁发者信息,确认它是谁签发的。
  2. 用上级 CA 的公钥验证证书签名。
  3. 检查证书主体信息、有效期、用途扩展和撤销状态。
  4. 如果链路完整,则认为证书可信。

4.2 实体可信验证

平台还要确认“对面是否真的持有私钥”,常见做法是:

  1. 平台生成随机数或会话密钥。
  2. 用设备证书中的公钥相关能力进行加密或挑战。
  3. 设备用私钥完成解密或签名响应。
  4. 能正确响应的一方,才算真正持有该证书对应的私钥。
设备身份认证
  ├─ 设备持有自己的证书和私钥
  ├─ 平台校验证书链和签名
  ├─ 平台发起挑战,确认私钥持有权
  └─ 双方基于 TLS 建立加密通道

5. 和 HTTPS 的关系

设备认证本质上和 HTTPS 的服务端认证是同一类问题:

  • 都依赖证书链。
  • 都依赖 CA 信任锚。
  • 都依赖私钥持有证明。
  • 都依赖 TLS 作为传输安全底座。

6. 相关入口


设备认证中的 x509 证书
https://luischen.github.io/2026/07/10/manulism-work/10_Architecture/14 架构和开发/Https/03-设备认证中的x509证书/
作者
Luis Chen
发布于
2026年7月10日
许可协议