1、GMT 0112-2021 《PDF格式文档的密码应用技术要求》密码应用实现主要分为3种类型:第六章PDF数字签名——仅有签名,第七章PDF电子签章——印章,第八章PDF加解密——加密。此处根据PDF电子签章密码应用实现进行分析。根据关键字“Widget”或“SigAnnot”检索确定PDF安全电子签章方式,使用WinHex工具打开PDF文件,关联对应PDF签章属性对象值。表6 签章字典的部分条目同理。
2、根据GM/T 0112标准中电子签章生成流程可知,签章值存放在contents字段,将contents包含的16进制值全部复制另存为一个新的txt文档,使用ASN.1 JavaScript decoder工具打开该文档,后续结合GB/T 38540标准数据结构体进行分析。
3、对照电子签章数据结构,导出签章者证书,选中cert对应的数据流,复制HEX值,转成PEM格式并保存为.cer后缀的文档。可提取签章者证书公钥值:042d248fec246ee8fee363f9abf30fa71845f42437f27e597b9d16e658ddd05848d2ac95bb5476ab303f61e2d7580d9f3ab152a430b14c1d388d34fa4061a8c59d
注:04是公钥标识符,后文类似需拆分部分已加粗
对照签章信息数据结构,可提取原文杂凑值:
0321007f51cdb21e2caf5c75629aebbd8d0ae5ebe0e025648e54ea23763470aa46c063
注:验签部分不涉及该值
4、对照电子印章数据结构,导出制章者证书,选中cert对应的数据流,复制HEX值,转成PEM格式并保存为.cer后缀的文档。可提取制章者证书公钥值:
042d248fec246ee8fee363f9abf30fa71845f42437f27e597b9d16e658ddd05848d2ac95bb5476ab303f61e2d7580d9f3ab152a430b14c1d388d34fa4061a8c59d
注:因该PDF为模拟系统测试数据,制章者证书与签章者证书为同一证书,正常应用一般是业务用户为签章者,管理员为制章者。
5、对照电子印章信息数据结构,依次展开印章属性数据结构,此处签章者证书信息类型为1,表示签章者证书信息列表存储的是数字证书,可提取列表中签章者证书信息。该测试数据中仅一张证书,其余情况可能存在多张数字证书。用于确认签章者证书的有效性。
6、根据第5步对照电子印章数据结构,提取印章信息原文、签名值、制章者证书,将制章者证书拖入密评工具公钥栏,由密评工具自动提取公钥对应格式,验证电子印章签名值,验证成功。
签名值[71字节]:03480030450221008ca2a259a855a3672cea29a6a34630b42b02be108acf1542bb8d94cc41a5504e022048cc7a970a4b2e46f761ce15e9476ded9af98916f99796ff5784b10e8eba0c3e
7、根据第3步对照电子签章数据结构,提取签章信息原文、签名值、签章者证书,将签章者证书拖入密评工具公钥栏,由密评工具自动提取公钥对应格式,验证电子签章签名值,验证成功。
签名值:
0348003045022100de5177af8ef6797d96c543fe1f8d973794bd1279f2b2ae60f58608a30437e7d502204f4059c8777498da5bf23f6fbbcaac7e54444272ae7378dd0b417e4bc907adca
8、后续学习可参考标准:
GM/T 0112-2021 《PDF格式文档的密码应用技术要求》
GB/T 38540-2020 《信息安全技术 安全电子签章密码技术规范》