我正在尝试使用以下工作流程创建 PAdES 签名:
- PDF 已准备好进行签名并在浏览器中计算哈希
- 哈希被发送到后端
- 在后端形成分离的 CAdES 签名
- 分离的 CAdES 被发送回组装 PAdES 签名的浏览器
我们有一个 PDF 签名的工作示例,其工作方式如下:
- 准备好 PDF 并在浏览器中计算哈希
- 哈希被发送到后端
- 在后端制作分离的 PKCS7 签名(通过使用 BouncyCastle 库)
- 分离的 PKCS7 被发送回组装 PDF 签名的浏览器
这工作正常。
但是,现在我们在后端使用DSS库而不是 BouncyCastle,因为我们正在尝试创建 PAdES 签名。因此,DSS lib 正在创建分离的 CAdES(应该与分离的 PAdES 相同)而不是 PKCS7。但是,当在浏览器中组装签名时,签名无效(即使证书信息也不可见)。
据我了解,CAdES 是 PKCS7 的扩展,因此这种方法应该可行。
我首先尝试了解我们的方法是否有问题,如果没有,我将尝试分享我们用来制作分离的 CAdES 签名的代码,看看那里是否有问题。