带有TSA时间戳的数字签名在TSA响应PDF框的链中添加证书,给出错误“;空间不足,无法写入签名”;

带有TSA时间戳的数字签名在TSA响应PDF框的链中添加证书,给出错误“;空间不足,无法写入签名”;,pdf,pdfbox,digital-signature,Pdf,Pdfbox,Digital Signature,我已经通过TSA创建了带有时间戳的数字签名。在这篇文章中,我在TSA响应中添加了证书来构建链,用于构建链。这很好,而且还创建了签名,但在使用pdf box API for Java将此签名嵌入pdf中时,它给出的错误空间不足,无法写入签名。PDF框中是否有处理签名大小的配置 任何帮助都将不胜感激。我假设您使用的是CreateEmbeddedTimeStamp.java示例中的嵌入式时间戳,因此您使用的是现有签名的空间。这一个是固定的,因此您需要使其足够大: signatureOptions.se

我已经通过TSA创建了带有时间戳的数字签名。在这篇文章中,我在TSA响应中添加了证书来构建链,用于构建链。这很好,而且还创建了签名,但在使用pdf box API for Java将此签名嵌入pdf中时,它给出的错误空间不足,无法写入签名。PDF框中是否有处理签名大小的配置


任何帮助都将不胜感激。

我假设您使用的是CreateEmbeddedTimeStamp.java示例中的嵌入式时间戳,因此您使用的是现有签名的空间。这一个是固定的,因此您需要使其足够大:

signatureOptions.setPreferredSignatureSize(...);

数字高于默认值(0x2500)。SignatureOptions对象可以在
document.addSignature()
调用中传递。

您可以控制首先签名的进程吗?因为如果没有,则不能,空格被占用。在签名示例中,更改或添加此行
signatureOptions.setPreferredSignatureSize(…)我的评论有帮助吗?如果是,我会回答,如果不是,请说明原因。根据反馈,我可能还会对示例源代码添加一些注释。谢谢您的建议。我们如前所述更改了源代码,它正在工作。生成哈希和签名哈希、嵌入签名以及创建pdf@TilmanHausherr的签名版本时,需要上述设置