在iOS中脱机打开和存储加密文档

时间:2012-08-13 08:19:53

标签: ios encryption cryptography ms-office

我已经下载了加密文件并可以在文件夹中进行离线查看,我想知道:

  • 如何在相应的阅读器中打开它们,因为这些是ms office docs和prezi format

  • 我想他们必须加密才能读者阅读,但在这种情况下如何确保安全?

  • 用于避免iCloud同步的文件夹,我已经阅读了此Disable iCloud sync

  • iOS在阅读时是否通过基于应用密钥的加密来保护应用程序的文档,或者我错了?

2 个答案:

答案 0 :(得分:2)

即席发言,当思想发生时,Sven对UIDocumentInteractionController是正确的,并且这些对象是通过URL识别的。

但是,您可能无需在磁盘上解密文件以使其正常工作。您可以编写自己的小URL协议(子类NSURLProtocol并正确实现方法;您应该最终检查URL是否在您创建的发明方案中 - 例如myApplicationEncrypted:// - 然后发布数据包到a NSURLProtocolClient)并通过NSURLProtocol +registerClass在设备上注册。

您显然需要在磁盘和协议客户端之间进行解密。因此,您将传递未加密的数据 - 您需要对UIDocumentInteractionController做出信任判断。

文档交互控制器已记录在您的应用程序中,因此不应存在沙盒问题。

答案 1 :(得分:0)

您可以使用UIDocumentInteractionController对象将文档发送到其他应用。您使用指向文档的文件URL对其进行初始化,然后使用其中一种方法来呈现它。

这将负责显示预览(如果可能),并让用户选择应该打开文档的应用程序。

必须对文档进行解密才能使其正常工作。然后,您无法对文件的安全性做出任何保证 - 一旦将文件移交给另一个应用程序,它就无法控制。

如果您的应用未明确选择使用iCloud同步,则您的数据将不会与iCloud同步。将发送给iCloud的是整个设备的备份(如果已启用)。您已经在已链接的问题中阅读了一些方法来禁用单个文件。

iOS文件保护基于设备密钥,而不是每个应用密钥。这也不是必需的,因为除非您的手机被越狱,否则沙箱会相互保护应用程序。在越狱手机上没有安全保障。