1

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

  • PDF 已准备好进行签名并在浏览器中计算哈希
  • 哈希被发送到后端
  • 在后端形成分离的 CAdES 签名
  • 分离的 CAdES 被发送回组装 PAdES 签名的浏览器

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

  • 准备好 PDF 并在浏览器中计算哈希
  • 哈希被发送到后端
  • 在后端制作分离的 PKCS7 签名(通过使用 BouncyCastle 库)
  • 分离的 PKCS7 被发送回组装 PDF 签名的浏览器

这工作正常。

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

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

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

4

1 回答 1

0

我想到了。就是分离的 CaDES 签名的大小是分离的 PKCS7 签名的 2 倍以上,所以我们没有为签名留出足够的空间来适应,所以签名基本上是覆盖了 PDF 内容。当我增加签名空间时,一切正常

于 2019-04-15T03:37:34.567 回答