我正在使用PDFBox 2.0我想用PADES-LTV格式创建一个PDF,但不是我这样做的步骤。 我的问题是LTV参数和应用时的问题。
需要知道在什么时候添加以及如何
如果你可以引导我,我会把我的部分代码放进去。但我正在使用签名PDFBox的例子
提前致谢
public void signDetached(PDDocument document, OutputStream output, TSAClient tsaClient)
throws IOException
{
setTsaClient(tsaClient);
// create signature dictionary
PDSignature signature = new PDSignature();
signature.setFilter(PDSignature.FILTER_ADOBE_PPKLITE);
signature.setSubFilter(PDSignature.SUBFILTER_ADBE_PKCS7_DETACHED);
signature.setName("test PADES-LTV");
signature.setLocation("Madrid, ES");
signature.setReason("Testing");
// TODO extract the above details from the signing certificate? Reason as a parameter?
// the signing date, needed for valid signature
signature.setSignDate(Calendar.getInstance());
// register signature dictionary and sign interface
document.addSignature(signature, this);
// write incremental (only for signing purpose)
document.saveIncremental(output);
}
我删除了第一个链接,因为它是在书店付款。
我有这些信息,但没有如何应用它PDFBox
根据ETSI TS 102 778-4 V1.1.2(2009-12)的PDF结构 应用LTV的文件如图2所示。
图2:使用LTV的PDF文档图示
保护的使用寿命可以进一步延长 生命 - 最后一个文档通过添加更多DSS应用的时间戳 用于验证上一个文档时间戳的信息 带有新文档的时间戳。如图3所示。
图3:重复LTV的PDF文档图示
另一方面,根据Adobe(由他们的PDF写的 福音传教士Leonard Rosenthol在1月的iText邮件列表上 2013年),
启用LTV意味着验证文件所需的所有信息 (减去根证书)包含在。所以这是你的陈述 会是真的。
PDF已正确签名并包含所有必要的证书,a 每个证书的有效CRL或OSCP响应但是从唯一开始 该陈述的真实方式是DSS的存在,你必须这样做 启用了支持LTV的DSS。没有时间戳(常规或文档 等级)是必需的。由于这种与LTV的PDF文件的分歧 根据ETSI通常由Adobe软件提供一个 不支持LTV的文档时间戳。
引用(对于itext):How to enable LTV for a timestamp signature?