当在 pdfbox 中使用 adbe.x509.rsa_sha1 作为子过滤器时,规范(32000-1:2008,第 468 页)要求设置“Cert”签名字典字段。 PDSignature 或 COSDictionary 中没有方法可以设置此“Cert”字段,该字段应包含“代表 x.509 证书链的字节字符串数组 (...)”。
有没有办法指定这个“证书”字段?或者目前还不可能?
最佳答案
正如 @TimanHausherr 提到的,目前无法直接在 PDFBox (2.0.4) 中设置证书值。仍然可以使用以下方法手动包含“证书”条目:
byte[] cert = ...;
PDSignature signature = new PDSignature();
COSString certCosString = new COSString(cert);
signature.getCOSObject().setItem("Cert", certCosString);
现在,当 PDFBox 使用“签名”签署文档时,将包含证书字段。
关于java - PDFBox使用adbe.x509.rsa_sha1时在签名字典中指定cert,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43354337/