PDF格式的数字签名

时间:2020-08-19 19:16:31

标签: node.js pdf digital-signature pkcs#7 google-cloud-kms

我正在尝试使用NodeJS中PKCS#7格式的签名对pdf文件进行数字签名。

设置:

Node-forge在生成PKCS#7格式方面做得很好。我已经验证了库的最终输出符合我的需求。默认情况下,pkcs7需要输入以下内容:

  1. 包含签名者公钥的证书
  2. 要签名的二进制内容
  3. 签名者的私钥

问题:

我想在HSM中生成并存储我的签名者(用户)密钥,因此我无法直接访问私钥。因此,我可以提供最终结果-将签名的内容作为输入,而不是要签名的内容(2.)和签名者的私钥(3.)。我无法在node-forge或任何其他JavaScript库中找到这样做的选项。

供参考的openssl命令需要相同的3个参数。

我使用bouncycastle库找到了Java解决方案。它提供了实现ContentSigner接口的功能。您基本上可以告诉该库-“每当对文件签名时都从此处获取签名”,因此从理论上讲,应该仅使用证书和签名内容即可创建PKCS#7。

问题:

如何仅通过使用证书和签名的文件内容来生成PKCS#7或任何其他有效的PDF签名格式?

0 个答案:

没有答案
相关问题