当前位置: 首页 > 知识库问答 >
问题:

用纯JavaScript签名PDF

严修谨
2023-03-14

随着WebCrypto API的发展和Chrome和Firefox的支持,我想使用它对PDF文档进行数字签名。这里的文献不多,但我找到了一些例子[1]和一个名为pki.js[2]的库。在示例中,描述了签名过程,但最终返回签名。我希望我的Base64 PDF文件再次返回一个签名的Base64字符串,但不幸的是,这不是发生的事情。据我所知,pki.js也没有提供签署Base64 PDF的方法。

有没有一种方法只使用JavaScript和WebCrypto API签署PDF?私钥可以在

Base64 PDF(来自REST API)使用JS签名&证书签名的Base64 PDF(发送到REST)

  • [1]https://github.com/diafygi/webcrypto-示例
  • [2]https://pkijs.org/

共有1个答案

仇飞鹏
2023-03-14

这样做在技术上是可能的,事实上,这是我们制作PKIjs时想到的场景之一(这就是为什么有这个示例)-https://PKIjs.org/examples/pdfexample.html

也就是说,进行签名需要使用PDF结构本身,这要么需要自定义解析器,要么需要修改现有的解析器(例如pdfjs)。

长话短说,在浏览器中签署一个PDF文件将需要很多工作,这是我们正在进行的工作。

 类似资料:
  • 我正在尝试使用纯.NET代码创建证书请求,并根据现有的CA证书(在Windows证书存储中或作为单独的文件)从证书请求创建证书。 我知道有类和可用于加载证书并访问它们的信息,但在命名空间中没有任何类或功能可用于创建证书请求或对此类证书请求进行签名以创建新的已签名证书。 并且尽管命名空间的文档说明: System.security.Cryptography.PKCS命名空间为公钥加密标准(PKCS)

  • 我正在尝试使用远程web服务来演唱pdf,该服务返回一个XML签名,该签名由签名和最终用户证书组成。 我需要使用此签名通过IText签名对pdf进行签名,因为web服务。 所有IText示例都使用消息格式,但我不确定应该如何处理XML签名。 打开临时Pdf并嵌入接收到的签名的代码 从web服务返回的XML签名: 当我将返回的签名与上面的代码一起使用时,签名验证失败,出现“错误遇到时BER解码”。

  • 我已经阅读了ReactJs官方文档中纯Javascript函数和非纯Javascript函数的定义。 纯函数是不尝试更改其输入的函数,并且总是为相同的输入返回相同的结果。 实例 不纯函数是改变自身输入的函数。 实例

  • 我想创建一个签名并使用openssl验证它。我想有我的签名的十六进制输出。 这是我的密码 我得到这个错误: 如果我在创建签名的过程中删除了-hex,它就可以工作了。

  • 我有所有的参数,像Key-id,cloudfront domain和pem文件。但我不知道如何实现它。谁能帮我拿些样品。 我找了很多,但没有找到。我得到了使用node.js创建签名url的示例代码,但我不想使用node.js。

  • 我正在制作一个javascript客户端,它使用JWT令牌连接到Api。在服务器端没有问题,我可以创建令牌对其进行签名,然后验证签名,从而确保没有人篡改令牌。 但我如何在客户端做到这一点。我可以解码JWT令牌并查看头、负载和签名。但是如何在客户端验证签名?是否有用于此的库,如何将公钥传输到客户端? 如果我不验证签名,我怎么知道令牌没有被篡改?