使用PHP将时间戳添加到PDF签名

时间:2018-01-14 11:17:56

标签: php pdf timestamp trusted-timestamp rfc3161

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

根据ISO 32000-1:2008:

  

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

来自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}

     

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

     

SignatureTimeStampToken :: = TimeStampToken

     

TimeStampToken中messageImprint字段的值应为SignerInfo中签名字段值的哈希值,以便对带有时间戳的signedData进行处理。

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

  1. 如何为签名添加时间戳?
  2. 或者,有没有这个功能的开源库(php或其他)?
  3. 一个例子将不胜感激

0 个答案:

没有答案