X.509 证书扩展详解
X.509 证书的核心功能由扩展(Extensions)机制实现。扩展允许在证书中添加额外信息,定义证书的用途、约束、身份验证方式等关键属性。本文详细介绍常见扩展的作用和使用方法。 什么是证书扩展 X.509 v3 引入的扩展机制是现代 PKI 的基础。每个扩展由 OID(对象标识符)、关键性标志和扩展值组成。 扩展分为两类: 关键扩展(Critical):证书使用者必须理解和处理的扩展,否则证书验证失败 非关键扩展(Non-critical):可选的扩展,可被忽略但不应影响验证 常见扩展详解 1. Basic Constraints(基本约束) 定义证书是否为 CA(证书颁发机构)以及证书链深度。 1 2 3 4 5 6 7 8 # CA 证书 basicConstraints=CA:TRUE # 终端实体证书 basicConstraints=CA:FALSE # 无限制的 CA 路径长度 basicConstraints=CA:TRUE,pathlen:10 实际输出: 1 2 X509v3 Basic Constraints: CA:TRUE 2. Key Usage(密钥用法) 指定证书密钥的允许用途。 1 2 3 4 5 6 7 8 # 服务器认证证书 keyUsage=digitalSignature,keyEncipherment # CA 签名证书 keyUsage=digitalSignature,keyCertSign,cRLSign # 代码签名证书 keyUsage=digitalSignature,nonRepudiation 常见值: digitalSignature:数字签名 keyEncipherment:密钥加密 dataEncipherment:数据加密 keyCertSign:证书签名 cRLSign:CRL 签名 3....