计算字节范围摘要

时间:2017-01-03 15:00:32

标签: ios xcode pdf openssl digital-signature

我正在构建一个允许用户对PDF进行数字签名的应用。我使用的是plugPDF SDK。它没有内置支持生成字节范围摘要所以我必须自己做。 PlugPDF生成PDF内容,我在终端中生成签名哈希:

openssl dgst -hex -sha256 -sign privateKey.pem -out encrypted.out invoice.content  

从这个哈希我生成PKCS#7对象:

openssl cms -in encrypted.out -sign -signer signer.pem -outform der -out cert.p7b

然后我使用plugPDF SDK将其注入PDF。当我在Adobe Acrobat中打开它时,PDF已签名但签名无效。它说:“自签名申请以来,文件已被更改或损坏。”

我认为问题是哈希值错误,但我不知道如何生成它。

这是一个示例教程:https://plugpdf.com/how-to-sign-pdf-document-with-pki-certificate-on-ios/

1 个答案:

答案 0 :(得分:0)

PDF的字节范围摘要通常会排除将注入签名的PDF区域,以便在添加签名之前和之后摘要值应相同。如果它们不相同,那么假设文件在签名后已经以某种方式进行了修改。

它看起来不像openssl的dgst命令允许你指定不连续的字节范围。