保护UIWebVIew中的自定义字体

时间:2012-08-13 16:58:44

标签: css ios encryption uiwebview font-face

在我的应用程序中,我在UIWebView中显示HTML内容。 HTML内容从服务器下载并存储在iPad的文件系统中以启用离线使用。 HTML在其CSS文件中使用自定义字体@ font-face:

@font-face {font-family: 'CustomFont'; src: url(Custom-Font.otf);}

为了使这项工作,字体.otf文件也会下载并存储在iPad的文件系统中。

问题是,现在任何可以访问他的iPad文件系统的人都可以使用该字体(如果你使用像IExplorer这样的东西,那就很容易了)。

这会导致一些法律问题,因为大多数字体提供商都不允许他们的字体自由分发(实际上,当我使用这种方法时)。

我的问题:有没有办法,如何在文件系统中加密字体并在UIWebView尝试加载时解密它们?

3 个答案:

答案 0 :(得分:0)

请参阅“iOS应用程序编程指南”中的Protecting Data Using On-Disk Encryption

  

在iOS 4及更高版本中,应用可以使用数据保护功能添加   磁盘数据的安全级别。数据保护使用   特定设备上存在的内置加密硬件(例如   iPhone 3GS和iPhone 4)以加密格式存储文件   磁盘。当用户的设备被锁定时,受保护的文件就是   即使是创建它们的应用程序也无法访问。用户必须   明确解锁设备(通过输入适当的密码)   在您的应用可以访问其中一个受保护的文件之前至少一次。

我没有对此进行测试,但我强烈认为iExplorer无法读取加密文件。

答案 1 :(得分:0)

我找到了一个效果很好的解决方案:Robin Summerhill在如何使用Apple的CommonCrypto API和自定义URL协议保护iOS应用中的资源方面写了一篇很棒的tutorial。您可以使用它来加密所有嵌入的资源,它也适用于字体。

答案 2 :(得分:0)

如果您没有来自字体提供商的许可证来重新分发其字体,那么通过将它们嵌入到您的应用程序中,您就会侵犯版权。加密文件不会改变这一点。