像許多人一樣 - 我正在開發一個共享代碼庫的應用程序(Windows應用商店+ Android + MonoTouch + [稍後] WP8)。通過Monodroid開箱即可在Android中獲得安全存儲嗎?
此外,與許多應用程序一樣,我有本地狀態,我需要堅持這個應用程序。
我存儲的一條信息是登錄用戶的身份驗證令牌。在Windows應用商店平臺上,我用令牌的輔助數據(用戶名和發佈日期)的漫遊設置(ApplicationData.Current.RoamingSettings
)和PasswordVault
作爲實際令牌值的混合來實現此存儲。因此,令牌受OS操作系統級內省的保護,因爲它是由操作系統加密的。
現在我爲我的MonoDroid構建實現了相同的接口,而且我看不到任何由平臺提供的方式來存儲只能由我的應用程序解密的數據 - 就像密碼一樣保管庫可用於商店應用程序。
因此,目前,我只是使用Android.Content.ISharedPreferences
接口通過Application.Context.GetSharedPreferences
方法讀取和寫入這些值。
所以,我正確的假設平臺(MonoDroid或Android)不提供安全存儲OOB?是在應用程序中實現加密的唯一替代方案 - 這當然需要將加密密鑰烘焙到代碼中?或者我可以獲取用於簽署應用程序的證書並將其用作密鑰?
最終它不是世界的末日,如果我不能加密這些數據,因爲令牌爲時間限制呢 - 不過這將是很好,如果我能真正做到這一點正確!
哦哎呀! 'OOB'我的意思是「開箱即用」! I.e有一個平臺提供了開箱即用的加密存儲機制:-)。要改變問題標題... –
; o)沒關係,我誤解了。 –