我正在開發一個android消息應用程序。當用戶註冊rsa私鑰和公鑰時,並且這些密鑰和aes消息被加密和解密。如何存儲RSA私鑰,公鑰
私鑰存儲在服務器的手機和公鑰中。如果用戶重置或卸載應用程序,則所有密鑰都將丟失,因此無法解密舊消息。
如何在用戶卸載應用程序時檢索舊私鑰而不將其存儲在服務器中?
我正在開發一個android消息應用程序。當用戶註冊rsa私鑰和公鑰時,並且這些密鑰和aes消息被加密和解密。如何存儲RSA私鑰,公鑰
私鑰存儲在服務器的手機和公鑰中。如果用戶重置或卸載應用程序,則所有密鑰都將丟失,因此無法解密舊消息。
如何在用戶卸載應用程序時檢索舊私鑰而不將其存儲在服務器中?
有多種方式可以在Android中保存數據。數據庫,SavedInstanceState,SharePreferences和文件。用戶卸載應用程序後,只有文件仍然存在。將其保存在文件中是您擁有的唯一選項。
您是使用Android Keystore存儲密鑰還是使用自己的文件存儲?
的Android密鑰庫
藉助Android密鑰庫是沒有辦法恢復鍵,因爲它們只能通過創建它們,如果有實質性的變化被丟棄的應用中使用。
我猜你正在使用RSA密鑰協商AES對稱加密密鑰。因此,你將需要備份的AES加密密鑰(例如在服務器...),以及stablish一個機制來恢復,如常見的「記住密碼」事業的關鍵
自定義密鑰存儲
如果您將密鑰存儲在沒有AndroidKeystore的設備中,則可以定義自己的機制來還原密鑰。例如,使用密碼加密密鑰並將密鑰存儲到設備的公用目錄中。然後密鑰可以恢復提示用戶輸入密碼
注意事項:考慮到每種情況下的安全風險。例如,一個非加密的AES密鑰進入服務器意味着惡意服務器可以解密消息。或弱恢復密鑰機制將降低系統的整體安全級別
現在它已存儲在數據庫中,並且sharedprefernce.does密鑰庫在卸載應用程序後保留數據。 – cyborg