- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 Java 中的 iTextPDF 从签名的 PDF 中提取数字签名数据。我的代码是:
PdfReader reader = new PdfReader(is);
AcroFields af = reader.getAcroFields();
ArrayList<String> names = af.getSignatureNames();
if(names == null || names.isEmpty()) return null;
KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType());
ks.load(null, null);
ArrayList<Map<QName, Serializable>> aspects = new ArrayList<Map<QName, Serializable>>();
for (String name : names) {
System.out.println("Signature name: " + name);
System.out.println("Signature covers whole document: " + af.signatureCoversWholeDocument(name));
System.out.println("Document revision: " + af.getRevision(name) + " of " + af.getTotalRevisions());
PdfPKCS7 pk = af.verifySignature(name);
X509Certificate certificate = pk.getSigningCertificate();
Map<QName, Serializable> aspectSignatureProperties = new HashMap<QName, Serializable>();
aspectSignatureProperties.put(SignModel.PROP_CERTIFICATE_PRINCIPAL, certificate.getSubjectX500Principal().toString());
aspectSignatureProperties.put(SignModel.PROP_CERTIFICATE_SERIAL_NUMBER, certificate.getSerialNumber().toString());
aspectSignatureProperties.put(SignModel.PROP_CERTIFICATE_NOT_AFTER, certificate.getNotAfter());
aspectSignatureProperties.put(SignModel.PROP_CERTIFICATE_ISSUER, certificate.getIssuerX500Principal().toString());
aspects.add(aspectSignatureProperties);
}
但是,在 PdfPKCS7 pk = af.verifySignature(name);
我收到此异常:
Caused by: java.lang.NoClassDefFoundError: org/bouncycastle/asn1/ASN1ObjectIdentifier
at com.itextpdf.text.pdf.AcroFields.verifySignature(AcroFields.java:2349)
at com.itextpdf.text.pdf.AcroFields.verifySignature(AcroFields.java:2302)
at es.keensoft.alfresco.behaviour.CustomBehaviour.getDigitalSignatures(CustomBehaviour.java:133)
at es.keensoft.alfresco.behaviour.CustomBehaviour.onCreateNode(CustomBehaviour.java:78)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.alfresco.repo.policy.JavaBehaviour$JavaMethodInvocationHandler.invoke(JavaBehaviour.java:174)
at com.sun.proxy.$Proxy54.onCreateNode(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.alfresco.repo.policy.TransactionBehaviourQueue.execute(TransactionBehaviourQueue.java:245)
... 41 more
由以下原因引起:java.lang.ClassNotFoundException:org.bouncycaSTLe.asn1.ASN1ObjectIdentifier
在 org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1702)
在 org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1547)
... 56 更多
我尝试包含 BouncyCaSTLe 依赖项,但后来我得到:
Signer information does not match
有什么想法吗?谢谢
编辑:
我正在将 Maven 与这些依赖项一起使用:
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.5.0</version>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId>
<version>1.49</version>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcpkix-jdk15on</artifactId>
<version>1.49</version>
</dependency>
我收到以下错误:
java.lang.SecurityException: class "org.bouncycastle.asn1.ASN1ObjectIdentifier"'s signer information does not match signer information of other classes in the same package
最佳答案
尝试使用这个:
<dependencies>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId>
<version>1.50</version>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcpkix-jdk15on</artifactId>
<version>1.50</version>
</dependency>
<dependency>
<groupId>com.itextpdf.tool</groupId>
<artifactId>xmlworker</artifactId>
<version>5.5.0</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.5.0</version>
</dependency>
</dependencies>
Maven 中的 iText 没有明确声明依赖关系。
正如其他用户在答案中声称的那样,1.49 与 5.5.0 配合得很好。 iText 的第一个 MAVEN 版本没有那么清晰地管理依赖关系(甚至 Bruno Lowagie 也谈到过这一点)。
问题似乎是现有的 1.45 工件干扰了执行。在这种情况下,以下库组合将起作用。
<dependencies>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId>
<version>1.45</version>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcpkix-jdk15on</artifactId>
<version>1.45</version>
</dependency>
<dependency>
<groupId>com.itextpdf.tool</groupId>
<artifactId>xmlworker</artifactId>
<version>5.0.6</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.0.6</version>
</dependency>
</dependencies>
关于java - iTextPDF 5.5.0 BouncyCasSTLe 依赖问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38039795/
我正在用 JAVA 创建一个简单的程序,其中有一个按钮,单击后即可创建 PDF。我正在使用 iText JAVA 库来生成 PDF。我已将 iText .jar 文件包含在“Java 构建路径”中,但
在最新版本的 itextpad v5.4.0 中找不到类“com.itextpdf.text.pdf.PdfAWriter”。我什至尝试下载额外的 jar,但无济于事。 我们将不胜感激。 最佳答案 我
我是 android 的新手,我正在尝试在 android 中将位图转换为 Pdf。我正在使用 itextpdf 5.5.4 jar 文件。我使用的代码如下: import com.itextpdf.
我使用以下代码的目的是将 HTML 文件转换为 PDF try { com.itextpdf.text.Document document = new com.itextpdf.text
我正在尝试将表格放在已在“PdfPageEventHelper”中横向旋转的 PDF 页面上: public void onStartPage(PdfWriter writer_,Document d
嘿哟,我的这段代码有问题: private void createPDF(String[] url, String name) throws FileNotFoundException, Docu
我在使用 itext 7 时遇到两个问题。其中一个是,如果您引入的链接长于一行,则第一行将显示为其自己的链接,只有第二行引用整个内容。第二个问题是关于在链接周围添加边框。该边框仅出现在链接的后半部分(
iTextPdf 是否允许设置表格中单元格之间的间距? 我有一个包含 2 列的表格,我正在尝试在单元格上绘制边框底部。我希望每个边框之间的空间与单元格填充相同。 我正在使用下面的代码: Pdf
我有一堆 PDF,此时我已将它们合并到代码中。在合并的 PDF 的开头,我有一个内容页面,分别链接到所述 PDF。这些 pdfAction.gotoLocalPage 链接有时无法正常工作,而是跳转到
以下是我使用 iText 从 Java 生成 PDF 的代码: import java.io.File; import java.io.FileOutputStream; import java.io
是否可以通过 iTextPDF 库从现有的 pdf 文件中提取页面并将整个页面另存为图像。 例如,如果我的 pdf 文件包含 2 个页面,那么将生成 2 个图像,每个图像将是特定页面的快照。 最佳答案
大家好! 我对文档有一些疑问: itextpdf 是否可以选择在特定页面上设置不同的边距?我试过用 document.setMargin 然后 document.newPage 但似乎每一页都有相同的
我在 Ubuntu 上使用 itextpdf 来填写带有数据的 PDF 表单。事实上,我使用了这个工具包中包含的一个类(实用程序):PdfFormFiller。数据由 Unicode 字符串表示。为了
我想动态对齐 iText PdfTable。 如何在 iTextPDF 中设置基于 x 和 y 位置的对齐方式。 PdfPCell cell; cell = new PdfPCell(testTabl
我正在使用 iTextPdf 为 pdf 构建表格。每页将有 9 到 15 列,确切数字直到运行时才知道。 iTextPDF 非常适合在整个页面宽度上创建大小相同的列。但我想不通的是如何创建不同宽度的
我使用 iTextPdf 从 html 页面生成 pdf 文件,例如: iTextSharp.text.html.simpleparser.HTMLWorker hw = new iTextSharp
本文整理了Java中com.itextpdf.text.ZapfDingbatsList类的一些代码示例,展示了ZapfDingbatsList类的具体用法。这些代码示例主要来源于Github/Sta
如何在 iTextpdf 中设置表格的行位置和宽度?这里我需要如何设置每个单元格的位置以及如何在 itextpdf 中设置行间距 testTable11_close_right.getDefaultC
我正在使用 itextpdf 将一些 pdf 合并为一个。 itextpdf pdfcontentbyte addtemplate的参数是什么意思,没有文档描述。 最佳答案 下面的代码成功了,感谢帮助
我有这个移动应用程序,我需要将数据库的一些行导出为 pdf。我需要有一个 pdf 结构才能正确放置信息。这是我的代码,但由于某种原因 PDF 是空白的。主要目标是在开头有一个标题,然后是数据库中的一行
我是一名优秀的程序员,十分优秀!