使用 itext 5.5.5 进行数字签名

2023-11-26

我从 iText 升级5.2.1到iText5.5.5

我使用 PdfStamper 和 PdfSignatureApperance 来应用数字签名。

这是我的代码片段。

PdfStamper stamper = PdfStamper.createSignature(reader, byteArrayOutputStream,'\0');
PdfSignatureAppearance appearance = stamper.getSignatureAppearance();
appearance.setCrypto(key, chain, null, PdfSignatureAppearance.WINCER_SIGNED);

从上面的代码来看,有一些东西在当前版本中不存在。

1) 版本中5.5.5iText 的我找不到 PdfSignatureApperance 类的“setCrypto”方法。

2) PdfSignatureApperance 不包含 WINCER_SIGNED。

如果有人可以帮助我使用新的替代方案应用数字签名。

Thanks.


事实上,自 iText 5.3 以来,签名 API 发生了一些变化,并且 setCrypto 方法不再存在。我阅读了布鲁诺的白皮书,这是对我有用的代码:

PdfReader reader = new PdfReader(new FileInputStream(file));
FileOutputStream fout = new FileOutputStream(new File(targetDir, fileName));
PdfStamper stp = PdfStamper.createSignature(reader, fout, '\0');

PdfSignatureAppearance sap = stp.getSignatureAppearance();
sap.setReason(reason);
sap.setLocation("Pleber-Christ");

ExternalDigest digest = new BouncyCastleDigest();
BouncyCastleProvider provider = new BouncyCastleProvider();
ExternalSignature signature = new PrivateKeySignature(key, DigestAlgorithms.SHA256, provider.getName());
MakeSignature.signDetached(sap, digest, signature, chain,   null, null, null, 0, CryptoStandard.CMS);

你必须把bcprov-jdk15on-1.60.jar and bcpkix-jdk15on-1.60.jar在你的类路径中。您可能需要对其进行一些更改以满足您的需求。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 itext 5.5.5 进行数字签名 的相关文章

  • 将文本叠加在图像背景上并转换为 PDF

    使用 NET 我想以编程方式创建一个 PDF 它仅包含一个背景图像 其上有两个具有不同字体和位置的标签 我已阅读过有关现有 PDF 库的信息 但不知道 如果适用 哪一个对于如此简单的任务来说最简单 有人愿意指导我吗 P D 我不想使用生成的
  • 如何将目录及其子目录中的所有 PDF 文件复制到一个位置?

    如何全部复制PDF文件从目录及其子目录到单个目录 实际上还有更多的文件 并且深度有些任意 假设四个目录的最大深度是公平的 我想这些文件需要重命名 如果a pdf例如 位于多个目录中 因为我会adding https ebooks stack
  • 在 Flutter 中显示 iOS 的 PDF 内联文件

    我正在 flutter 中专门为 iOS 开发一个应用程序 现阶段 我需要向其中添加 PDF 文件 问题是 flutter 没有原生的方式来显示 PDF 文件 据我研究 由此tread https github com flutter fl
  • 如何从 pdf C# 中获取具有特定颜色的文本

    我必须将 pdf 文件中的数据放入特定的数据库结构中 这要求我能够从 pdf 文件中获取某些数据 由于 pdf 没有任何标签等 我想知道是否可以根据颜色获取文本 比如说我想要所有的红色文本 或者我想要文档中的所有斜体文本 这在 C 中可能吗
  • 如何修复 Laravel 中未找到的“PDF”类

    在我的 Laravel 应用程序中遇到以下错误 CollaboPDFController php 第 14 行中的 FatalErrorException 未找到 PDF 类 这是我的ColaboPDFController php
  • 在 iPad 上显示 PDF 文档 - 颜色问题

    我为 iPad 构建了一个 PDF 阅读器 在将预览中的文档与模拟器和设备进行并排比较时 我注意到一些颜色问题 最好的形容就是颜色变得更加浓郁 近距离使用的相似颜色之间的任何差异都会变得更加明显 而所有颜色总体上看起来都更亮 尽管大肆宣传将
  • 在 Python 中静默打印 PDF

    我正在尝试使用 Python 打印 PDF 而不打开 PDF 查看器应用程序 Adobe Foxit 等 我还需要知道打印何时完成 以删除文件 Here http permalink gmane org gmane comp python
  • 使用 Itextsharp 读取本地化 PDF 文件

    我正在尝试使用 iTextSharp 阅读 PDF 文件 问题是当尝试阅读英语以外的 PDF 文件 例如印地语或阿拉伯语 时 它无法获取正确的单词 我想知道 我应该在系统上安装印地语或阿拉伯字体 还是需要对编码进行一些处理 ITextExt
  • 是否有一种直接的方法可以使用 iTextSharp 将一个 PDF 文档附加到另一个 PDF 文档?

    我在网上搜索了有关如何执行此操作的示例 我发现有些人似乎比他们需要的更多地参与其中 所以我的问题是 使用 iTextSharp 是否有一种相当简洁的方法将一个 PDF 文档附加到另一个 PDF 文档 最好这不会涉及第三个文件 只需打开第一个
  • PostScript - 超链接表,但只有一个链接用于所有链接

    要求是在 pdf 中显示一些文本 该文本下面有一个指向站点 pdf 等的超链接 类似于 HTML 您将在其中看到请单击此处 然后在此处打开一个链接 我正在使用 PlanetPress 创建 pdf 它基本上是添加了维生素和铁的 PostSc
  • 使用 Spring MVC 返回 PDF 文件

    实际上 我有这个功能 我有一个框架 可以在其中设置 URL ip port birt preview report report rptdesign format pdf parameters 并且该框架呈现 PDF 文件 但我想隐藏该网址
  • PyFPDF在指定大小时无法添加页面

    在 pyfpdf 文档上据说可以在添加页面时指定格式 fpdf add page orientation format same False 但在指定格式时它给了我一个错误 error pdf add page format 1000 10
  • 在Python中读取PDF属性/元数据

    如何使用 Python 读取 PDF 文件中存储的属性 元数据 例如标题 作者 主题和关键字 Try pdfminer https github com euske pdfminer from pdfminer pdfparser impo
  • PDF 阅读器如何验证表单字段?

    我正在查看几个经过数字签名的 pdf 文件的源代码 并且还有注释和表单字段 我注意到每个 Annot 字典都有一个 M 值 它存储它的最新修改时间 然后可以使用 Sig 字典的 M 值进行检查 该值存储pdf文件的数字签名时间 但是 我注意
  • 使用 iTextSharp 生成 QR 条形码

    我有一个值数组 arr 0 Sam arr 1 1452 arr 2 NY 我想用这些值生成 QR 条形码 我们正在使用 ITextSharp 任何帮助将不胜感激 我正在使用vb net 以下是如何使用 iText 创建条形码的一些示例 h
  • 将固定文档/XPS 打印为 PDF,而不显示文件保存对话框

    我有一个FixedDocument我允许用户在 WPF GUI 中预览 然后打印到纸张上 而不显示任何 Windows 打印对话框 如下所示 private void Print PrintQueueCollection printQueu
  • 在 Node.js 中生成带条形码的 pdf

    我在用https github com devongovett pdfkit https github com devongovett pdfkit生成 PDF 文件 我可以简单地使用类似的方法 app get get pdf req re
  • 如何为 Android 创建我们自己的 PDF 查看器?

    我想构建一个可在我的 Android 应用程序中使用的 PDF 阅读器 查看器 但我无法使用 Google 文档来阅读我的内容 我无法使用我的设备中已安装的任何 PDF 阅读器 它应该位于我的应用程序内 并且不会通过互联网公开我的安全内容
  • 如何使用itext7缩放固定矩形内的文本?

    我正在尝试使用 c 中的 itext7 制作一个 pdf 文档 该文档应该具有包含不同文本的固定矩形 这些文本应该在 不可见 矩形的边界内缩放 我试图寻找是否有自动缩放功能 但到目前为止只发现表单域的自动缩放功能 由于 pdf 将用于绘制文
  • 如何使用 pdftk 和 /MediaBox 裁剪 PDF 边距

    I used pdftk解压缩 PDF 然后将其作为文本文件打开 我想编辑 媒体盒领域 就我而言 MediaBox 0 0 612 792 例如 我想减少边距 MediaBox 100 0 512 792 不幸的是它不起作用 我可以改变0

随机推荐

  • 如何向 ubuntu 应用程序添加图标

    我已经用Python快速开发了一个用于ubuntu的应用程序 我将其打包并且工作正常 但我找不到如何向我的应用程序添加图标 目前它就像一个空白图标 我用过 Glade 和 gtk 最好的方法是安装一个 命名图标 为此 您的安装脚本会将文件复
  • Python,可变长度位置参数之后的默认关键字参数

    我以为我可以在 Python 2 中的函数调用中的可变长度位置参数之后使用命名参数 但我得到了SyntaxError导入 python 类时 我正在使用以下 get 方法编写 例如 class Foo object def init sel
  • 停止自托管owin服务器时完成当前请求

    我有 OWIN 服务器作为控制台应用程序的一部分 你可以在这里看到主要方法 class Program public static ManualResetEventSlim StopSwitch new ManualResetEventSl
  • 从 UIBezierPath 获取点

    我通过以下方式绘制了上面的 BezierPath 位置是用户触摸屏幕的位置 位置将是图表的最大值 CGPoint 原点 CGPointMake xStart 620 0 CGPoint endpt CGPointMake xEnd 620
  • 使用 Hibernate 公式从另一个表中选择实体

    我正在尝试使用 Hibernate 的 Formula 注释从另一个表中检索实体 给出以下代码 Entity class Test Id GeneratedValue strategy GenerationType IDENTITY Col
  • 无法使用 pymongo 2.2 连接到 MongoDB 2.0.5 数据库

    我已经诊断这个问题几个小时了 我想看看是否有 pymongo 专家有任何想法 下面一行代码 连接 pymongo Connection localhost 27017 生成以下错误 usr local Cellar python 2 7 3
  • .htaccess 虚拟主机的基本身份验证?

    我想知道是否可以根据 htaccess 文件中的虚拟主机 URL 设置条件 http 基本身份验证要求 例如 我想要做的是让 mysite com 和 test mysite com 在同一目录中运行相同的代码库 但密码保护 test my
  • SceneKit 每个顶点颜色

    我一直在使用 SceneKit 但我不知道如何创建每个顶点颜色几何体 更准确地说 我想这样做 http openglbook com chapter 2 vertices and shapes html 如果不清楚 请告诉我 Thanks
  • 如何让触摸事件影响容器视图后面的视图?

    我有一个完全覆盖另一个 UIView 的容器视图 容器视图具有透明度以及其他一些功能 搜索栏 表格视图等 我希望触摸事件能够通过容器视图 并在事件发生在透明区域时影响下面的视图 我一直在摆弄容器视图的子类 我试图让 pointInside
  • 如何在Windows 10通用应用程序中使用WCF服务?

    我的 Windows 8 1 应用程序使用 WCF 服务 我需要将我的应用程序移植到 Windows 10 UWP 应用程序 但无法添加服务引用 当我添加服务引用时出现此消息 数据服务客户端代码生成失败 不支持指定的 Windows 应用商
  • 如何从字符串数组或数组列表创建字符串?

    我如何提取字符串 或数组列表中的所有元素 并将所有单词以正确的格式 带有单个空格 组合在一起 然后存储在数组中 String a Java is cool 输出 Java 很酷 Use a StringBuilder String stri
  • 如何加快 Eclipse 项目“刷新”速度

    我有一个相当大的 PHP 代码库 10k 文件 我在 Windows 计算机上使用 Eclipse 3 4 PDT 2 来处理它 而这些文件托管在 Debian 文件服务器上 我通过 Windows 上的映射驱动器进行连接 尽管有 1gbi
  • Ruby 相当于 PHP 的 $this

    相当于PHP的什么 this gt 在鲁比 红宝石相当于this is self 它们都指当前实例 棘手的部分是在 Ruby 类范围内 self指的是该类的当前实例Class它定义了您正在构建的类 在方法内部 self指类的实例 eg cl
  • 在 x86-64 中将寄存器移至自身有什么好处

    我正在 x86 64 NASM 中做一个项目 并遇到了指令 mov rdi rdi 在我的教授写的编译器的输出中 我已经进行了全面搜索 但找不到提及为什么需要这样做 它会影响标志还是我不明白的聪明之处 为了提供一些上下文 它在同一寄存器递减
  • Google Analytics API 错误“无法同时查询选定的维度和指标。”

    我必须同时从 GA 电子商务中检索尽可能多的不同指标 我正在使用 google api ruby 客户端 并且不断出现错误 message gt Selected dimensions and metrics cannot be queri
  • 存档上传失败并出现错误:ITMS-90470 缺少 TVTopShelfImage.TVTopShelfPrimaryImageWide 密钥

    您知道为什么会发生这种情况以及最重要的是如何解决它吗 添加具有什么值的密钥 从 tvOS 10 开始 您必须包含宽顶架图像 Top Shelf Image Wide 大小为2320px by 720px 1x tvOS 人机界面指南 图标和
  • 无法加载 share\octave\packages 中可用但未在 share\octave\octave_packages 中列出的包

    短篇故事 在目录中 octave 4 2 1 share octave packages最初有 45 个包子目录 其中 m和其他文件 例如financial 0 5 0 但我找不到使用它们的方法 更详细 我已经解压了便携式 zip 版本Oc
  • 使用 rxjs 实现指数退避

    角7docs提供这个实际用法的例子rxjs Observable为 AJAX 请求实现指数退避 import pipe range timer zip from rxjs import ajax from rxjs ajax import
  • 将rtf或文本文件加载到UITextView iphone sdk中

    嗨 我想知道如何将 rtf 或文本文件加载到 UITextView 中 我使用了几个代码 但不起作用 NSString filePath NSBundle mainBundle pathForResource filename ofType
  • 使用 itext 5.5.5 进行数字签名

    我从 iText 升级5 2 1到iText5 5 5 我使用 PdfStamper 和 PdfSignatureApperance 来应用数字签名 这是我的代码片段 PdfStamper stamper PdfStamper create