当使用adbe.x509.rsa_sha1作为pdfbox中的子过滤器时,规范(32000-1:2008,第468页)要求设置' Cert'签名字典字段。 PDSignature或COSDictionary中没有方法来设置这个' Cert'字段,应该包含"一个字节字符串数组,代表x.509证书链(...)"。
有没有办法指定这个'证书'无论如何?或者现在这不可能吗?
答案 0 :(得分:1)
正如@TimanHausherr所提到的,现在不可能直接在PDFBox(2.0.4)中设置证书值。仍然可以使用以下方法手动包含“Cert”条目:
byte[] cert = ...;
PDSignature signature = new PDSignature();
COSString certCosString = new COSString(cert);
signature.getCOSObject().setItem("Cert", certCosString);
当PDFBox使用“签名”对文档进行签名时,现在将包含证书字段。