关于ios:如何使用物镜C查看PDF文件中的数字签名

How to see Digital Signatures in PDF files using objective C

我的应用程序中有一个PDF查看器。我只是将PDF文件加载到UIWebView中。但是,当PDF包含数字签名时,它不会显示在WebView中。显示PDF的所有其他内容。仅签名区域留空。我检查了Preview,也检查了OSX中的Safari,结果是相同的。

然后我下载了适用于Mac的Adobe Reader应用程序,并尝试打开PDF。它正确显示了签名!!

有人能告诉我Objective C中是否存在任何机制来显示PDF文件的签名。


Adob??e文档介绍了如何在PDF文件中使用数字签名。请参阅Adobe PDF 1.7规范第466页的第12.8节

但是,正如您所发现的,许多pdf文件查看器,包括Google Chrome内置的pdf查看器,都会忽略数字签名。随着数字签名变得越来越流行,这是非常不幸的。

如果您尚未这样做,请针对UIWebView提交错误报告。或功能增强请求。添加完整的数字签名支持并非易事,但这是一个很棒的功能。

添加数字签名支持

作为支持的第一步,您可以考虑仅显示有关文档的数字签名的信息并进行验证。 -重要的是不仅要显示数字签名,还需要验证它们。

验证的最重要部分,恕我直言,是要验证文件自签署以来是否未更改。验证您是否信任签名者证书的根证书是一件好事,但实际上,它不如文档完整性重要。另一方面,这完全取决于您的应用程序及其环境。

第二步,您可以在文档页面的正确位置显示数字签名通常包含的图形签名。

pdf通常包含多个数字签名。 pdf通常会包含多个"电子签名"以及一个经过验证的数字签名。

"电子签名"只是pdf页面上显示的图形签名。它不涉及任何加密功能,不保证文档的完整性,也不保证签名人的不可否认性(不涉及签名人证书)。

由于数字签名需要实时验证,因此pdf有时会包含多个电子签名,例如,每页的首字母缩写。然后是一个数字签名来覆盖整个文档。