public async Task Legacy_Key(string key, string data) { var ks = new AndroidKeyStore(Platform.AppContext, SecureStorage.Alias, SecureStorage.AlwaysUseAsymmetricKeyStorage); var encryptedData = ks.Encrypt(data); var encStr = System.Convert.ToBase64String(encryptedData); Preferences.Set(SecureStorage.Md5Hash(key), encStr, SecureStorage.Alias); // Ensure we read back out the right key var c = await SecureStorage.GetAsync(key); Assert.Equal(data, c); }
/// <summary> /// Sets value in the AndroidKeystore /// </summary> /// <param name="key"></param> /// <param name="value"></param> /// <returns></returns> public bool SetValue(string key, string value) { try { var ks = new AndroidKeyStore(AppContext, SecurePreferenceName); var encryptedData = ks.Encrypt(value); using (var prefs = AppContext.GetSharedPreferences(SecurePreferenceName, FileCreationMode.Private)) using (var prefsEditor = prefs.Edit()) { var encStr = Convert.ToBase64String(encryptedData); prefsEditor.PutString(GetMD5Hash(key), encStr); prefsEditor.Commit(); return(true); } } catch (Exception) { return(false); } }