楼主: 吴博士
72 0

[其他] GM T 0015-2023《数字证书格式》核心要点总结 [推广有奖]

  • 0关注
  • 0粉丝

等待验证会员

学前班

80%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
30 点
帖子
2
精华
0
在线时间
0 小时
注册时间
2018-10-28
最后登录
2018-10-28

楼主
吴博士 发表于 2025-11-25 14:54:09 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

GM/T 0015-2023《数字证书格式》核心要点解析

一、标准范围与总体结构(第1-5章)

适用范围:该标准明确了数字证书及证书撤销列表(CRL)的基本数据结构和字段定义,广泛适用于数字证书认证系统的开发、CA机构的运营管理,以及各类基于数字证书的安全应用实现。

主要更新内容:本版本替代了GM/T 0015-2012,技术层面进行了多项优化:新增规范性引用文件,移除部分过时术语,统一采用GB/T 16262.1规定的DER编码规则,并对扩展项进行了细化补充,例如引入统一社会信用代码扩展等。

基本构成框架:数字证书由三个核心部分组成:

tbsCertificate
(待签名证书内容)、
signatureAlgorithm
(签名算法标识符)、
signatureValue
(签名值)。
CRL结构与此类似,包含:
tbsCertList
(待签名CRL内容)、
signatureAlgorithm

signatureValue

二、数字证书格式深度解析(第5.2节)

证书数据结构(5.2.2):

TBSCertificate
包含版本号、序列号、颁发者名称、有效期、主体名称、公钥信息等关键字段。
signatureAlgorithm
所标识的签名算法必须与
tbsCertificate
中声明的算法保持一致。若使用SM2算法,则其参数字段(
parameters
)应为空值。
signatureValue
是对经过DER编码后的
tbsCertificate
内容进行数字签名后生成的结果。

关键字段说明(5.2.3):

  • 序列号(serialNumber):由CA分配的唯一正整数,长度不得超过20个八位组。
  • 有效期(validity):时间表示方式根据年份区分:
    - 对于2049年及以前的时间,采用
    UTCTime
    格式(YYMMDDHHMMSSZ);
    - 自2050年起,则需使用
    GeneralizedTime
    格式(YYYYMMDDHHMMSSZ)。
  • 主体(subject):当主体的命名信息仅存在于“主体替换名称”扩展中时(即
    subjectAltName
    ),主字段中的主体名称应设置为空序列。

证书扩展域(5.2.4 - 核心内容):
每个扩展由三部分构成:扩展OID、是否关键(TRUE/FALSE)、扩展值。
CA必须支持的扩展包括:颁发机构密钥标识符、主体密钥标识符、基本限制、密钥用法、证书策略。
应用程序至少应能识别的扩展有:密钥用法、证书策略、主体替换名称、基本限制、名称限制、策略限制、扩展密钥用途。

三、重点扩展项详解

颁发机构密钥标识符(authorityKeyIdentifier, 5.2.4.2.2):
作用:用于识别签发该证书所用私钥对应的公钥,是构建信任链的重要依据。
要求:除自签名证书外,所有证书均应包含此项,且推荐包含

keyIdentifier
字段。此扩展通常标记为非关键。
keyIdentifier
应通过公钥计算得出,如采用SM3杂凑算法生成摘要值。

密钥用法(KeyUsage, 5.2.4.2.4):
作用:限定公钥的具体用途,如数字签名、密钥加密、证书签名等。
关键性设定:由签发者自行决定是否设为关键。一旦标记为关键,证书只能用于指定用途,不可越界使用。
典型配置示例:
- CA证书:必须启用

keyCertSign
cRLSign

- 终端实体签名证书:建议启用
digitalSignature
nonRepudiation

- 终端实体加密证书:应启用
keyEncipherment
dataEncipherment
keyAgreement

基本限制(basicConstraints, 5.2.4.2.12):
作用:标明证书持有者是否具备CA身份,并可设定后续证书路径的最大长度(

pathLenConstraint
)。
关键性要求:在CA证书中必须存在且必须标记为关键;在终端实体证书中则应设为非关键。

CRL分发点(CRLDistributionPoints, 5.2.4.2.15):
作用:指示获取CRL的位置和访问方式。
关键性说明:一般设为非关键。但如果标记为关键,应用系统必须能够从指定地址成功下载CRL,否则应拒绝该证书的有效性。

机构信息访问(authorityInfoAccess, 5.2.4.3.2):
作用:提供访问CA在线服务的方式,如获取上级CA证书(

id-ad-caIssuers
)或查询OCSP响应服务(
id-ad-ocsp
)。
关键性建议:应设置为非关键,便于灵活部署。

四、CRL格式规范(第5.3节)

CRL数据结构:与证书结构相似,主要包括被撤销证书的序列号列表、撤销发生时间,以及相关的CRL扩展项。

重要CRL扩展项:

  • CRL号(cRLNumber):一个单调递增的整数,用于标识CRL的版本顺序。
  • 增量CRL指示符(deltaCRLIndicator):用于表明当前CRL为增量更新类型,应标记为关键
  • 颁发分发点(issuingDistributionPoint):描述CRL覆盖的证书范围及其发布位置,应标记为关键

五、附录核心内容(规范性附录)

附录部分提供了具体的证书结构实例和详细字段表格,是实际开发与验证过程中的权威参考。

证书类型与字段要求:附录C系统地列出了不同类型证书(如自签名CA证书、下级CA证书、终端实体签名/加密证书)中各字段的必选/可选状态及其关键性设置规则,是证书签发与校验的操作指南。

编码示例:附录D给出了一个完整的SM2数字证书ASN.1 DER编码实例,涵盖从版本号到各项扩展的实际编码形式,具有极高的实践指导意义。

六、核心要点汇总

方面 关键要求 说明
编码规则 必须使用ASN.1 DER编码 确保数据结构唯一性和可解析性,符合国家标准GB/T 16262.1

为了确保不同系统间的互操作性,应遵循统一的技术规范与标准。在密码算法的选择上,需严格符合GM/T系列国家标准要求,其中SM2签名算法的参数应设置为NULL,以保证算法实现的一致性和合规性。

在证书时间有效性方面,应根据年份合理选择编码格式:2049年及之前的时间采用UTCTime表示,而自2050年起则应使用GeneralizedTime格式。这一机制有效应对了“Y2K49”时间溢出问题,避免因时间编码限制导致的解析错误。

对于CA证书的管理,必须包含关键性的基本约束扩展(Basic Constraints),且其中的cA字段必须明确设置为TRUE,以标识其作为证书颁发机构的身份。此举有助于清晰区分CA证书与终端实体证书,强化层级信任结构。

tbsCertificate

密钥用途的配置需与证书的实际类型相匹配。例如,用于数字签名的证书和用于数据加密的证书,在密钥用法(Key Usage)扩展中的标志位应有所不同,确保密钥仅在其授权范围内被使用,防止误用或滥用。

关于CRL(证书吊销列表)的处理,系统应支持CRL分发点扩展(CRL Distribution Points),以便客户端能够定位并获取最新的吊销信息。若采用增量CRL机制,则需通过特定标识加以区分,从而实现高效、准确的证书状态验证。

在扩展项处理方面,任何应用程序在解析证书时,若遇到标记为“关键”的扩展项而无法识别或处理,应当拒绝该证书。这一策略保障了安全策略的强制执行,防止因忽略关键安全信息而导致的安全风险。

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:要点总结 distribution Certificate Constraints Generalized

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
jg-xs1
拉您进交流群
GMT+8, 2025-12-6 03:47