2009-11-03 36 views
3

我有一個應用程序,通過將PersistentObject的內容設置爲散列表,將數據存儲到持久性存儲區,例如,通過輸入字符串作爲散列表的鍵和值來完成保存首選項,然後在PersistentObject上使用散列表作爲參數傳遞setContents。黑莓內容保護和持久性商店

我知道數據是未加密保存的。如果我在設備的IT策略中啓用內容保護,持久存儲的這種實現會自動開始加密數據,還是必須更改實現以使用ContentProtectedHashtable來保存內容?

迄今爲止發現的關於內容保護的所有信息都與BES IT策略有關,並且與應用程序中的實現無關,這使我認爲標準實現(即將Persistable對象提交給PersistentObject對象)是否自動適應加密數據?

任何想法??謝謝。

回答

2

有關實現內容保護的一種方式,請參閱net.rim.device.api.util.ContentProtectedHashtable的文檔。

另請參閱this document瞭解更多有關內容保護的深入討論。

+0

我已經看到了文檔,但是我想知道的是,是否只需要將我正在使用ContentProtectedHashtable提交給PersistentStore的哈希表替換?這樣做是否會自動加密數據(如果啓用了內容保護,或者將始終加密,而不考慮IT策略設置)? – DaveJohnston

+0

請參閱我已添加的文檔鏈接。您所問的問題似乎回答如下: 另請注意,爲了啓用內容保護,必須完成以下兩個步驟: 1.在BlackBerry設備上,單擊選項>安全性,然後將密碼設置爲啓用。 2.在BlackBerry設備上,單擊選項>安全性,然後將內容保護設置爲已啓用。 如果IT策略強制密碼並啓用內容保護,則內容將始終受到保護,否則將由用戶自行決定。 – Richard

+0

因此,內容保護的Hashtable處理文檔中討論的所有內容,即加密和重新加密等。所以我所要做的就是將數據存儲在ContentProtectedHashtable中(我假設我的數據必須是可持久的),然後使用散列表設置PersistentObject的內容,然後將其提交給PersistentStore? – DaveJohnston

0

我不認爲它有事情做與IT策略,這是相當PersistentContent具有加密/解密功能:

此API被設計爲允許應用程序來保護數據,如果用戶數據庫已在其設備的安全設置中啓用了內容保護/壓縮。它由兩個主要方法(編碼和解碼)以及一些輔助方法組成。
...
請注意,無論設備是鎖定還是解鎖,編碼都可以隨時執行。但是,只有在設備解鎖後才能解碼使用加密編碼的對象。如果設備在應用程序執行潛在的長時間操作時鎖定設備,則需要解碼加密數據(例如對加密記錄進行排序),這可能會造成問題。在這種情況下,應用程序可以獲取票據。只要對票證有強烈的引用,就允許對加密數據進行解碼。因此,應用程序應儘快發佈門票以使設備達到鎖定和安全狀​​態。

請參閱riccomini - code blackberry persistent store加密實現。

+0

感謝您的信息。我不太清楚該鏈接中包含的信息。據我所知,使用ControlledAccess類與CodeSigningKey不會執行加密,它只是鎖定PersistentStore,以便只有使用該密鑰簽名的應用程序才能訪問它。 – DaveJohnston