我已经下载了加密文件并可以在文件夹中进行离线查看,我想知道:
如何在相应的阅读器中打开它们,因为这些是ms office docs和prezi format
我想他们必须加密才能读者阅读,但在这种情况下如何确保安全?
用于避免iCloud同步的文件夹,我已经阅读了此Disable iCloud sync
iOS在阅读时是否通过基于应用密钥的加密来保护应用程序的文档,或者我错了?
答案 0 :(得分:2)
即席发言,当思想发生时,Sven对UIDocumentInteractionController
是正确的,并且这些对象是通过URL识别的。
但是,您可能无需在磁盘上解密文件以使其正常工作。您可以编写自己的小URL协议(子类NSURLProtocol
并正确实现方法;您应该最终检查URL是否在您创建的发明方案中 - 例如myApplicationEncrypted://
- 然后发布数据包到a NSURLProtocolClient
)并通过NSURLProtocol +registerClass
在设备上注册。
您显然需要在磁盘和协议客户端之间进行解密。因此,您将传递未加密的数据 - 您需要对UIDocumentInteractionController
做出信任判断。
文档交互控制器已记录在您的应用程序中,因此不应存在沙盒问题。
答案 1 :(得分:0)
您可以使用UIDocumentInteractionController对象将文档发送到其他应用。您使用指向文档的文件URL对其进行初始化,然后使用其中一种方法来呈现它。
这将负责显示预览(如果可能),并让用户选择应该打开文档的应用程序。
必须对文档进行解密才能使其正常工作。然后,您无法对文件的安全性做出任何保证 - 一旦将文件移交给另一个应用程序,它就无法控制。
如果您的应用未明确选择使用iCloud同步,则您的数据将不会与iCloud同步。将发送给iCloud的是整个设备的备份(如果已启用)。您已经在已链接的问题中阅读了一些方法来禁用单个文件。
iOS文件保护基于设备密钥,而不是每个应用密钥。这也不是必需的,因为除非您的手机被越狱,否则沙箱会相互保护应用程序。在越狱手机上没有安全保障。