基于CAdES标准的LTV签名实现疑问与方案咨询
CAdES-A 实现检查与遗漏点分析
背景信息
目标
使用SignedCms和CmsSigner在签名中嵌入LTV(长期验证)信息,最终实现Adobe Acrobat中的“LTV enabled”标识,达到CAdES-A归档级别。
当前实现
- 基于
SignedCms和CmsSigner生成PDF基础签名,IncludeOption设置为X509IncludeOption.WholeChain - 通过
AsnWriter/AsnReader在ASN.1结构的UnsignedAttributes中嵌入TSA时间戳 - 已在
UnsignedAttributes中嵌入以下OID:1.2.840.113549.1.9.16.2.21(id-aa-ets-certificateRefs)1.2.840.113549.1.9.16.2.22(id-aa-ets-revocationRefs,达成CAdES-C级别)1.2.840.113549.1.9.16.2.25(id-aa-ets-escTimeStamp,达成CAdES-X级别)1.2.840.113549.1.9.16.2.23(id-aa-ets-certValues)1.2.840.113549.1.9.16.2.24(id-aa-ets-revocationValues,达成CAdES-X Long Type 1级别)1.2.840.113549.1.9.16.2.48(id-aa-ets-archiveTimeStampV2,目标达成CAdES-A级别)
核心疑问
- 已通过
WholeChain包含完整证书链,是否仍需在UnsignedAttributes中嵌入证书引用(id-aa-ets-certificateRefs)? - 当前实现是否存在遗漏步骤或合规性错误?
实现检查与建议
1. 证书引用的必要性
即使已通过WholeChain包含完整证书链,必须保留证书引用(id-aa-ets-certificateRefs):
- CAdES-C及以上规范要求证书引用作为关联后续吊销信息(revocationRefs/revocationValues)的锚点,验证方需要通过它精准匹配证书与对应的吊销状态数据
- 证书链的存在只是提供了证书实体,而证书引用是标准化的哈希标识,是CAdES层级递进的必要结构,缺失会导致Adobe Acrobat无法识别为合规的CAdES-C及以上级别签名
2. 当前实现的潜在遗漏点
(1)吊销数据的覆盖范围
确保revocationRefs和revocationValues覆盖所有非根证书:
- 根证书作为信任锚无需提供吊销信息,但签名证书、中间CA证书必须包含对应的OCSP响应或CRL
- 需逐一验证每个非根证书的吊销数据是否已正确嵌入
revocationValues,且revocationRefs中的哈希值与对应吊销数据匹配
(2)归档时间戳的覆盖范围
id-aa-ets-archiveTimeStampV2的签名对象必须覆盖整个CAdES签名结构:
- 归档时间戳需对完整的CMS SignedData结构(包括基础签名、所有属性、证书链、吊销数据、之前的时间戳等)进行哈希签名,不能仅覆盖部分内容
- 需验证时间戳的签名对象是否符合RFC 5126的定义,否则Adobe不会认可为合规的CAdES-A签名
(3)属性的顺序与嵌套要求
CAdES属性的添加顺序必须符合规范逻辑:
- 基础签名完成后,添加
certificateRefs、revocationRefs(达成CAdES-C) - 添加
escTimeStamp(达成CAdES-X) - 添加
certValues、revocationValues(达成CAdES-X Long Type 1) - 最后添加
archiveTimeStampV2(达成CAdES-A)
- 所有上述属性必须放在
UnsignedAttributes中,避免重复添加冲突属性
(4)OCSP响应的有效性
嵌入的OCSP响应需满足以下要求:
- 由对应CA授权的OCSP服务器签发
- 响应时间在证书有效期内,且早于签名时间
- 响应中明确标记证书状态为“未吊销”
- 确保OCSP响应自身的签名验证通过,否则Adobe会标记LTV验证失败
3. Adobe Acrobat兼容性细节
- 确保所有ASN.1编码使用DER格式(
SignedCms默认支持,但手动修改ASN.1结构时需注意) - 检查PDF签名字典中的字段是否符合规范,特别是与LTV相关的
/DocTimeStamp等字段需与CAdES属性匹配 - 可以通过Adobe Acrobat的“签名验证”工具查看详细报告,定位具体的合规性问题
内容的提问来源于stack exchange,提问作者Dimiikou
相关产品推荐
相关产品推荐

