java解析pdf时读取其中的数字证书为COSName.ADBE_X509_RSA_SHA1报错

请问亲们用PDFBox解析pdf,pdf为电子发票,其中滴滴打车的电子发票里面的证书有两层,一个是中国税务的证书,一个是滴滴自己的证书。现在需要解析证书内容,普通电子发票只有一层证书时解析OK,当为滴滴打车的电子发票时读取报错,求大神指教
这里的cosStr时用PDF解析出来的信息
COSDictionary acroForm=(COSDictionary) root.getDictionaryObject(COSName.ACRO_FORM);
/******用X509证书读取string信息 start******/
// 获取X509Certificate的对象

// 从命令行中读入需要验证的证书文件

CertificateFactory of = CertificateFactory.getInstance("x.509");

byte[] data=cosStr.getBytes();
ByteArrayInputStream is=new ByteArrayInputStream(data);
Collection<? extends Certificate> infos=of.generateCertificates(is);
Certificate ceof = infos.iterator().next();
System.out.println(ceof.getPublicKey().getEncoded() + "\t"

+ ceof.getEncoded());

in.close();

X509Certificate t = (X509Certificate) ceof;

System.out.println(t.getSubjectDN().getName());
/******用X509证书读取string信息 end******/

虽然分不多,但是求指教,感谢大家。

http://www.newxing.com/S3511EEEB419/PdfPKCS7.java

https://github.com/haoxiaoyong1014/testarea-pdfbox2 希望对您有帮助