创建 PAdES 签名

Creating PAdES signature

我正在尝试使用以下工作流程创建 PAdES 签名:

我们有一个 PDF 签名的工作示例,其工作方式如下:

这工作正常。

但是,现在我们在后端使用 DSS 库而不是 BouncyCastle,因为我们正在尝试创建 PAdES 签名。因此,DSS 库正在创建分离的 CAdES(应该与分离的 PAdES 相同)而不是 PKCS7。但是,在浏览器中组装签名时,签名是无效的(连证书信息都看不到)。

根据我的理解,CAdES 是 PKCS7 的扩展,因此这种方法应该可行。

我首先试图了解我们的方法是否有问题,如果没有,我将尝试分享我们用来制作分离的 CAdES 签名的代码,看看那里是否有问题。

我想通了。分离的 CaDES 签名的大小是分离的 PKCS7 签名的 2 倍多,所以我们没有留下足够的 space 来容纳签名,所以签名基本上覆盖了 PDF 内容。当我增加签名的 space 时,一切正常