关于Apache PDFBox和PDF认证的问题



我们使用Apache PDFBox进行外部远程签名,源代码主要基于Apache PDFBox的官方示例。我们注意到一些";问题";当我们尝试使用多个签名对文档进行签名时:它们是可见的签名。输入是一个带有一些签名持有者的文档。流程为:未签名文档->sign(graphic_signature1,cert1,unsigned_doc(->signed_doc_1->sign(graphic_signature2,cert2,signed_doc_1(->signed_doc_2结果:

  • signed_doc_1:Adobe Acrobat say:签名有效,无需修改
  • signed_doc_2和后续文件:Adobe Acrobat表示:自本文件认证以来对其所做的更改是认证方允许的,不会使签名无效

我也读过这篇文章:https://help.adobe.com/en_US/livecycle/11.0/Services/WS92d06802c76abadb-3598a7d812dbeb3dcf3-7ff0.2.html

我想问的是:

  • 这真的是个问题吗?(对不起,我只是一名开发者,我对PDF认证的政策了解不多(
  • 如果这是一个问题,如何解决

签名时,已调用以下saveIncrementalForExternalSigning:signatureOptions=新signatureOptions((;signatureOptions.setVisualSignature(createVisualSignatureTemplate(doc,signingRequest.getSignatureInfo((.getPosition((.gePageNumber((,rect,signature((;

signatureOptions.setPage(signingRequest.getSignatureInfo().getPosition().getPageNumber());
doc.addSignature(signature, null, signatureOptions);
ExternalSigningSupport externalSigning = doc.saveIncrementalForExternalSigning(fos);
// invoke external signature service
byte[] cmsSignature = sign(externalSigning.getContent());
// set signature bytes received from the service and save the file
externalSigning.setSignature(cmsSignature);

编辑:我能够"修复";通过注释发出调用setMDPPermission(doc,signature,2(的代码行。(在Apache PDFBox签名示例中(。谢谢

由OP:发布

我能够";"修复";通过注释发布要调用的代码行setMDP权限(文档,签名,2(。(在Apache PDFBox签名中样品(。谢谢

最新更新