使用adbe.x509.rsa_sha1时,PDFBox在签名字典中指定cert

时间:2017-04-11 19:08:43

标签: java pdf pdfbox

当使用adbe.x509.rsa_sha1作为pdfbox中的子过滤器时,规范(32000-1:2008,第468页)要求设置' Cert'签名字典字段。 PDSignature或COSDictionary中没有方法来设置这个' Cert'字段,应该包含"一个字节字符串数组,代表x.509证书链(...)"。

有没有办法指定这个'证书'无论如何?或者现在这不可能吗?

1 个答案:

答案 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使用“签名”对文档进行签名时,现在将包含证书字段。