如何使用目标C查看PDF文件中的数字签名

时间:2012-11-12 06:50:03

标签: ios pdf uiwebview digital-signature

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

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

有人可以告诉我目标C中是否有任何机制来显示PDF文件的签名。

1 个答案:

答案 0 :(得分:1)

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

然而,正如您所发现的,许多pdf文件的观看者(包括Google Chrome内置的pdf查看器)都忽略了数字签名。这很不幸,因为数字签名变得更受欢迎。

如果您还没有这样做,请提交针对UIWebView的错误报告。或者功能增强请求。添加完整的数字签名支持是非常重要的,但它是一个很棒的功能。

添加数字签名支持

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

验证最重要的部分是imho,用于验证文档自签署后是否未更改。验证您是否信任签名者证书的根证书是好事,但实际上并不像文档完整性那么重要。另一方面,这一切都取决于您的应用程序及其环境。

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

pdf通常包含多个数字签名。 pdf包括多个“电子签名”以及验证数字签名也是常见的。

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

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