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

标签 java itext bouncycastle pdfbox

我想将时间戳添加到我的 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
 */

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

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

关于java - 如何在没有数字签名的情况下添加时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17273958/

相关文章:

java - 扫描仪中的正则表达式仅找到第一个匹配项

java - Hadoop 2.7.3 Java 运行时错误 - 找不到 core-site.xml

android - PDF 内容向右移动并为更宽的页面剪切

java - 使用 IText 在 pdf 文件中进行多重签名

c# - 将所有 PDF 字段设置为只读

java - BouncyCasLe OpenPGP 问题

java - Toast 在主 Activity 中工作正常,但在类中则不行

java - 获取数组最大 3 个元素的最有效方法

java - 如何将 x509 证书和 key 转换为 pkcs12 文件

php - BouncyCasSTLe 登录 PHP/OpenSSL