java – 如何在没有数字签名的情况下添加时间戳

我想在我的PDF文档中添加时间戳(没有数字签名).我怎样才能做到这一点?

我可以使用Itext进行数字签名(我这里有TSAClient):

MakeSignature.signDetached(appearance, digest, signature, chain, null, null, tsa, 0, subfilter);

但如果没有数字签名怎么办?使用Bouncy Castle或Itext或Pdfbox ……或与其他图书馆一起使用..

解决方法:

在iText中,您正在寻找

LtvTimestamp.timestamp(appearance, tsa, signatureName);

也参考JavaDoc文档:

/**
 * Signs a document with a PAdES-LTV Timestamp. The document is closed at the end.
 * @param sap the signature appearance
 * @param tsa the timestamp generator
 * @param signatureName the signature name or null to have a name generated
 * automatically
 * @throws DocumentException 
 * @throws IOException 
 * @throws GeneralSecurityException
 */

您可能需要阅读第5.4.1节“在Digital Signatures for PDF documents中添加文档安全性存储(DSS)和文档级别时间戳”以供上下文使用.

请注意,旧PDF查看器无法正确识别文档级时间戳,因为它们最近才进入PDF世界,即使用PAdES-4.

上一篇:java-使用PDFBox复制pdf是否可以像使用iText一样小?


下一篇:无法在PDF中保存阿拉伯语单词-PDFBox Java