【问题标题】:How can I sign a document using PKCS7, CAdES, S/MIME (e-cpf / e-cnpj) to create a P7S file using javascript on the browser?如何使用 PKCS7、CAdES、S/MIME (e-cpf / e-cnpj) 签署文档以在浏览器上使用 javascript 创建 P7S 文件?
【发布时间】:2019-05-07 01:08:15
【问题描述】:

我能够读取 p12 证书文件,并使用密码提取:

  • keycert 使用 forge 方法:forge.pkcs12.pkcs12FromAsn1getBags({friendlyName: this.selectedFriendlyName}).friendlyName
  • privatePem 使用 forge.pki.privateKeyToPem

我找到了一些使用 PKCS7、CAdES 和 S/MIME 签署消息或文档的解决方案,但它们都没有生成 P7S 文件,结果与正确的 P7S 内容(字节数组)不同,这就是我理解是在 E-CPF/E-CNPJ 签名文档中使用的正确文件格式。

我想在浏览器上使用 javascript 将其存档,但我们将不胜感激任何帮助或指导,在此先感谢您 :)

【问题讨论】:

  • PKCS7 签名格式有证书或证书链。您可以使用 JavaScript 在浏览器上构建它,但如果您没有方便地获取代码,您可以计算 SignedData 并将其与证书一起单独发布到服务器并在服务器上构建 CMS / PKCS#7 容器。或者,您可以使用一些提供 PKCS#7 容器的浏览器扩展。我的公司。提供了一个这样的免费扩展。搜索 Signer.Digital Chrome 扩展程序。

标签: javascript x509 pki pkcs#7 electronic-signature


【解决方案1】:

看起来你是巴西人...检查这个 PHP 答案是否有帮助。

https://pt.stackoverflow.com/a/124876/6573

【讨论】:

  • 感谢您的回答,但也许我的情况有所不同:我有一个用户的认证文件,我想用它签署一些信息以证明用户与它相关联,并且只保存这个毕竟服务器上的 p7s 文件。我不想将用户的证书发送到服务器,因为它对于分散的应用程序来说是不安全的。你认为在客户端上签名是不可能的吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-06-01
  • 1970-01-01
  • 1970-01-01
  • 2023-02-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多