node.js - Node base64编码带有签名的pdf

标签 node.js pdf digital-signature

我在将带有签名的 PDF 编码为 Base64 时遇到问题。我有这段代码,它可以工作,但没有签名:

// function to encode file data to base64 encoded string
function base64_encode(file) {
  // read binary data
  var bitmap = fs.readFileSync(file);
  // convert binary data to base64 encoded string
  return new Buffer(bitmap).toString("base64");
}

我获得了 Base64 编码的数据,但其中没有签名?

最佳答案

将整个 PDF 文件渲染为 Base64 编码对于删除 PDF 中的签名没有任何作用。一旦签名出现,base64 编码和解码应该会为您提供与开始时完全相同的数据。因此,如果您要解码没有任何签名的 PDF 文件,则不得对包含 PDF 签名的 PDF 文件进行编码。

实际上,对 PDF 进行签名是一个多步骤过程:保存 PDF、计算文件大部分部分的哈希值,然后将这些哈希值写入文件中不属于哈希输入的部分。

所以我相信您可能正在编码自“添加”签名以来尚未完全更新/保存的文件版本。

关于node.js - Node base64编码带有签名的pdf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44436740/

相关文章:

node.js - 将 process.env.NODE_ENV 与 String 进行比较

node.js - 将 pdf 拆分为多个页面,最好将其拆分为多个页面,并使用 node js 将各种文件保存在一个文件夹中

php - 命令行后脚本不继续

xml - 我可以在 Silverlight 中验证 xml 签名吗?

http - HMAC 256 与 HMAC 512 JWT 签名加密

java - java中的XML签名验证失败

node.js - Gmail 阻止 Nodemailer 发送邮件

node.js - 创建函数来正确链接 Promise

javascript - 应用程序在找不到父级时崩溃

ios - 在 iPhone 上将整个 pdf 页面解析为 NSString