我最近发现 HTTPCookieStorage 将我的应用程序的安全 JWT 令牌作为可搜索文本存储在位于
<App Bundle Path>/Library/Cookies/<bundle id>.binarycookies
的文件中。
我之前曾推测苹果会在将令牌存储到光盘之前对其进行加密,特别是考虑到它们被标记为安全令牌。
我在互联网上搜索过,大多数回复都承认这是真的,但表明这不是问题,因为苹果的数据保护技术(设备锁定时使用 256 位加密)。然而,当设备解锁或越狱时,这些 cookie 将很容易访问。我想确保我的应用程序的 JWT 令牌即使在设备解锁或越狱时也是加密的。
在将安全 cookie 保存到光盘之前,我已在 HTTPCookieStorage 的文档中搜索了任何用于加密安全 cookie 的设置,但没有找到内置选项。
如果您确实需要它“安全”,则不应将其存储到 HTTPCookieStorage 中。而是使用钥匙串,然后在您的请求需要时添加 cookie。但我不明白为什么它需要如此私密,以至于用户无法阅读它。如果他们愿意,他们还可以在随请求发送时拦截 cookie。