gpt4 book ai didi

java - 是否可以使用 OpenPDF 在文档上加电子印章?

转载 作者:行者123 更新时间:2023-12-01 19:38:27 31 4
gpt4 key购买 nike

我的公司需要实现一种在官方 PDF 上加盖电子印章的方法,以确保其完整性。我听一些同事说已经用OpenPDF完成了,但我在网上搜索目前还没有找到任何结果。

仅使用 OpenPDF 是否可以有效地实现这一目标?或者还有其他库吗?在这种情况下,我更喜欢免费的图书馆,但如果只有商业选择,我想先尝试一下,这样我就可以看看我是否能够使用它们,以及我的上级是否愿意承担经济风险。

这是维基百科对电子印章的定义:

A qualified electronic seal is an electronic seal that is compliant to EU Regulation No 910/2014 (eIDAS Regulation) for electronic transactions within the internal European market. It enables to verify the issuer of a document over long periods of time. Qualified electronic seals can be considered as digital equivalent to seals of legal entities on paper. According to the eIDAS regulation, a qualified electronic seal must be created by a qualified electronic device and based on a qualified certificate for electronic seal.

最佳答案

印章和签名

首先,在这个问题的评论中对电子印章签名进行了一些讨论。

从法律上讲(在 eIDAS 的背景下),它们彼此完全不同。但从技术上讲,两者通常都以数字签名的形式实现,在 PDF 上下文中更准确地说是 PAdES 签名;主要区别在于所使用的签名者证书,该证书表明您是否拥有电子印章或签名。

因此,问题归结为 OpenPDF 是否支持 PAdES 签名的创建。

OpenPDF 和 PAdES

OpenPDF 是 iText 最后一个非 AGPL 版本的一个分支,即非官方版本 iText 4.2.0 Bruno Lowagie,标记于 2009-11-27 13:59:39。那一年,ETSI 刚刚将 PAdES 签名的第一个版本作为技术规范 (TS) 发布,但尚未成为欧洲标准 (EN)。

因此,当时的 iText 库不包含任何明确的 PAdES 支持,仅支持可互操作的 ISO 32000-1 签名类型。不过,它提供了一个选项,主要是您自己创建签名字典并注入(inject)您自己的定制签名容器。因此,通过使用此选项,您可以创建 PAdES 签名,不仅可以使用 ISO 32000-1 兼容性配置文件,还可以使用 BES 和 EPES 配置文件。

从那时起,OpenPDF 签名 API 几乎没有改变;因此,仍然没有对 PAdES 的明确支持,但接口(interface)是开放的,可以注入(inject)签名字典和签名容器来创建与简单 PAdES 配置文件(Baseline-B、Baseline-T、E-BES、E-EPES)匹配的签名。

关于你的问题,因此

Is it effectively possible to achieve this with just using OpenPDF?

使用 OpenPDF 是可能的,但根据您想要的具体配置文件,您必须添加一些代码来相应地生成签名字典和签名容器。

Or do other libraries exist?

是的。例如

  • iText(OpenPDF 很久以前的分支)同时得到了进一步的开发,并包含一些更明确的 PAdES 支持。
  • CEF eSignature Digital Signature Services suite对于 PDF 签名,它使用 PDFBox 或 OpenPDF 作为基础 PDF 库,但构建自己的签名字典和签名容器。
  • ...

(不过,对于库推荐,请使用 Software Recommendations Stack Exchange 而不是堆栈溢出,严格来说,它们在这里是偏离主题的。)

关于java - 是否可以使用 OpenPDF 在文档上加电子印章?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59191481/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com