用Python验证数字签名的PDF

时间:2013-12-05 23:35:06

标签: python google-app-engine pdf digital-signature

我目前正在使用Python编写一些PDF处理代码。对于此项目,软件需要能够验证PDF是否具有有效的数字签名。到目前为止,在我的搜索中,我发现了一些Java API可以解决这个问题(例如iText)但在Python中没有。如果有人有以下任何一个链接,那将非常感激:

  • 我可用于验证数字签名的API
  • 有关如何编写自己的代码以验证数字签名的说明/一般指导

杂项详情:

  • PDF的数字证书由GlobalSign CA颁发 Adobe(如果重要的话)
  • 此代码最终将在Google App Engine上运行

1 个答案:

答案 0 :(得分:4)

我也因缺少这样的图书馆而烦恼。

据我所知,没有开放的Python库可以做到这一点。有一个MyPDFSigner库,但它似乎是闭源的,据我所知,它是一个二进制库。不确定如何适应app引擎。

很多人建议使用另一种语言,例如iText,这是一个用于执行相同操作的Java库。

验证签名基本上意味着几乎重新执行签名过程,因为您需要重新计算哈希值。此外,签名有不同的“级别” - 例如认证,其不仅包括签名,还指定允许的更改以保持文档签名有效。因此,您需要能够知道所需的验证级别。

如果要实现此类功能,Adobe's PDF reference是一个关键资源,而Digital signatures in a PDF是一个概述,可以帮助您入门。