我有一个应用程序,它通过将PersistentObject的内容设置为哈希表来将数据存储到持久存储中,例如,保存首选项是通过输入字符串作为哈希表的键和值来完成的,然后在PersistentObject上调用setContents,并将Hashtable作为参数传递。
我知道数据是未加密保存的。如果我在设备的IT策略中启用内容保护,那么持久存储的实现会自动开始加密数据,还是我必须更改要使用的实现,例如ContentProtectedHashtable来保存内容?
到目前为止,我发现的关于内容保护的所有信息都与BES IT策略有关,而与应用程序中的实现无关,这让我觉得标准实现(即只是将Persistable对象提交给PersistentObject对象)自动适应加密数据??
任何想法?感谢。
答案 0 :(得分:2)
有关实现内容保护的一种方法,请参阅net.rim.device.api.util.ContentProtectedHashtable的文档。
另请参阅this document以更深入地讨论内容保护。
答案 1 :(得分:0)
我认为它与IT策略无关,而是PersistentContent具有加密/解密功能:
如果用户在其设备的安全设置中启用了内容保护/压缩,则此API旨在允许应用程序保护数据库中的数据。它由两个主要方法(编码和解码)以及许多辅助方法组成 ...
请注意,无论设备是锁定还是解锁,都可以随时执行编码。但是,使用加密编码的对象只能在设备解锁时进行解码。如果设备在应用程序执行可能很长的操作时锁定,则会产生问题,在此期间,它需要能够解码加密数据,例如对加密记录进行排序。在这种情况下,应用程序可以获得票证。只要存在对票证的强引用,就允许解码加密数据。因此,应用程序应尽快释放票证,以使设备达到锁定且安全的状态。
有关加密实施,请参阅riccomini - code blackberry persistent store。