我正在研究 PDF 签名者/验证器,但不知道应该如何处理具有多个签名和 dss 字典的 pdf 文件。
这是场景:一个pdf文件被签名两次,在第二次签名之后,添加了一个DSS字典,其中包含两个签名的CRL、CERT和OCSP:
[ Signature 1 ]
[ Signature 2 ]
DSS <<
VRI <<
/HashSignature1 10 0 R
/HashSignature2 11 0 R
>>
...
>>
到现在为止还挺好。这两个签名都包含在文档上唯一的 DSS 字典中。但是其他人决定签署同一份文件,并添加他的 CRL 和其他所有内容。然后,我必须创建一个新的 DSS 字典,我的问题是:已经包含在另一个 DSS 字典中的旧签名必须在这个字典中吗?我认为是这样,因为 DSS 位于更新的文档目录中(并且您删除了对上一本字典的引用),但公司内部几乎没有达成一致意见。
[ Signature 1 ]
[ Signature 2 ]
DSS <<
VRI <<
/HashSignature1 10 0 R
/HashSignature2 11 0 R
>>
...
>>
[ Signature 3 ]
DSS <<
VRI <<
/HashSignature1 10 0 R
/HashSignature2 11 0 R
/HashSignature3 16 0 R
>>
...
>>
或者
[ Signature 1 ]
[ Signature 2 ]
DSS <<
VRI <<
/HashSignature1 10 0 R
/HashSignature2 11 0 R
>>
...
>>
[ Signature 3 ]
DSS <<
VRI <<
/HashSignature3 16 0 R
>>
...
>>
两者都正确吗?只有其中之一?带一个?