Shi*_*mar 6 pdf digital-signature uiwebview ios
我的应用程序中有一个PDF查看器.我只是将PDF文件加载到UIWebView中.但是当PDF包含数字签名时,它不会显示在WebView中.显示PDF的所有其他内容.只有签名区域留空.我用预览检查了OSX中的Safari,结果是一样的.
然后我下载了适用于Mac的Adobe Reader应用程序,并尝试打开PDF.它正确显示了签名!!
任何人都可以告诉我目标C中是否有任何机制来显示PDF文件的签名.
Adobe 记录了如何在 PDF 文件中使用数字签名。请参阅Adobe PDF 1.7 规范第 466 页第 12.8 节。
然而,正如您所发现的,许多 pdf 文件查看器(包括 Google Chrome 内置的 pdf 查看器)都会忽略数字签名。随着数字签名变得越来越流行,这是相当不幸的。
如果您还没有这样做,请针对 UIWebView 提交错误报告。或者功能增强请求。添加完整的数字签名支持并非易事,但它是一个很棒的功能。
添加数字签名支持
作为支持的第一步,您可以考虑仅显示有关文档数字签名的信息并验证它们。-- 重要的不仅仅是显示数字签名,您还需要验证它们。
恕我直言,验证最重要的部分是验证文档自签名以来没有被更改。验证您是否信任签名者证书的根证书固然很好,但实际上并不像文档完整性那么重要。另一方面,这一切都取决于您的应用程序及其环境。
第二步,您可以在文档页面的正确位置显示通常包含在数字签名中的图形签名。
pdf 包含多个数字签名是很常见的。pdf 中包含多个“电子签名”以及验证数字签名也很常见。
“电子签名”仅仅是 pdf 页面上显示的图形签名。它不涉及任何加密功能,不保证文档完整性,也不保证签名者的不可否认性(不涉及签名者证书)。
由于数字签名需要实时验证,因此 pdf 有时会包含多个电子签名,例如每页上的姓名缩写。然后用一个数字签名覆盖整个文档。