4

使用 tcpdf 库,我可以向 pdf 添加签名,但时间戳(RFC3161)尚未在此库(applyTSA)中实现,我需要此功能。

根据 ISO 32000-1:2008:

作为无符号属性的时间戳信息 (PDF 1.6):时间戳记号应符合 RFC3161,并且应按照 RFC3161 的附录 A 中的描述计算并嵌入到 PKCS#7 对象中。时间戳的具体处理及其处理留给特定的签名处理程序来定义。

来自 RFC3161 附录 A

以下对象标识符标识签名时间戳属性:

id-aa-timeStampToken OBJECT IDENTIFIER ::= { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) aa(2) 14 }

Signature 时间戳属性值具有 ASN.1 类型 SignatureTimeStampToken:

SignatureTimeStampToken ::= TimeStampToken

TimeStampToken 中的 messageImprint 字段的值应是 SignerInfo 中的签名字段值的哈希值,用于被标记的签名数据。

使用 openssl 生成时间戳非常容易,但我不清楚如何将其嵌入到 PKCS#7 对象中。我的问题是:

  1. 如何在我的签名中添加时间戳?
  2. 或者,是否有任何具有此功能的开源库(php 或其他)?

一个例子将不胜感激

4

0 回答 0