NSURLCache 和数据保护

NSURLCache and Data Protection

我正在尝试保护存储在 NSURLCache 中的敏感数据。我的应用程序文件和核心数据 sqlite 文件设置为 NSFileProtectionComplete。但是,我无法将 NSURLCache 文件数据保护级别更改为 NSFileProtectionCompleteUntilFirstUserAuthentication 以外的任何级别。这会使缓存中的所有敏感数据在设备锁定时暴露。

我需要缓存如此重复的请求的响应 return 304 响应以防止在不必要时多次重新处理数据。另外,我需要在设备锁定时保护缓存。

有人对保护 NSURLCache 数据有什么建议吗?

默认NSURLCache不支持更改其商店的保护级别。我通过创建自定义 NSURLCache 子类解决了我的问题,该子类将 URL 响应存储在自定义 SQLite 数据库中,文件保护设置为 NSFileProtectionComplete。这似乎是仅次于禁用 URL 缓存的唯一解决方案。