【发布时间】:2012-11-25 12:48:06
【问题描述】:
我正在尝试加密我的核心数据。
正如另一个问题所建议的,我已经阅读了 Nick Harris https://nickharris.wordpress.com/2010/07/14/core-data-and-enterprise-iphone-applications-protecting-your-data/ 的以下帖子。
首先在我的设备上,我在设置中打开了我的密码。
然后在我的 appDelegate 中,当我创建我的 persistentStoreCoordinator 时,我将以下属性 NSFileProtectionComplete 添加到我的核心数据存储文件中,据我了解,这意味着当设备被密码锁定时,我的核心数据应该被加密或不可访问.
NSDictionary *fileAttributes = [NSDictionary dictionaryWithObject:NSFileProtectionComplete forKey:NSFileProtectionKey];
if (![[NSFileManager defaultManager] setAttributes:fileAttributes ofItemAtPath:[storeURL path] error:&error]) {
NSLog(@"Cant encrypt");
}
但是,完成所有这些操作后,即使设备密码被锁定,我仍然可以使用 iExplorer 访问应用程序沙箱和包含 .sqllite 文件的文档文件夹,并且我可以将整个文件放到我的桌面上并完整查看未加密。
我错过了什么吗??
【问题讨论】:
-
有人对此有任何想法吗?
标签: objective-c ios encryption