我認爲你不應該在本地存儲保存起源證書。首先,您應該使用加密算法對證書進行加密,並且可以將其保存在本地存儲或首選項(Android/iOS - 最好是優先存儲)或您想要的任何位置。如果另一個人獲得憑證,則它已被加密,他們不會使用它來與服務器進行身份驗證(只有您已解密算法)。
繼續,您必須執行一些操作來防止其他人反編譯您的應用程序。他們將擁有您的解密算法並使用它來解密憑據 - >原始憑證 - >發佈到服務器成功。
有很多方法來保護你的應用程序,你可以搜索和研究。
代碼演示Android中:
SharedPreferences sharedPref = getSharedPreferences("account", Context.MODE_PRIVATE);
Editor editor = sharedPref.edit();
user = your_encrypt(username);
pass = your_encrypt(password);
//encrypt and save account
editor.putString("username", user);
editor.putString("password", pass);
editor.commit();
//get account
String u = sharedPref.getString("username", "");
String p = sharedPref.getString("password", "");
//decrypt username/pass
username = your_decrypt(u);
password = your_decrypt(p);
如果我理解你正確的建議是加密證書,然後把它們存儲在本地存儲,然後解密他們的服務器調用? –
你可以做到這一點。但我認爲你不應該在本地存儲中存儲,因爲另一個人可以訪問和更改憑證。您應該在應用程序中存儲首選項(xml)或數據庫,只有您可以訪問它。 –