Skip to content

HarkerTech/flutter_secure_storage

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

migrate_flutter_secure_storage

A Flutter plugin to store data in secure storage:

  • Keychain is used for iOS
  • AES encryption is used for Android. AES secret key is encrypted with RSA and RSA key is stored in KeyStore
  • libsecret is used for Linux.

Note KeyStore was introduced in Android 4.3 (API level 18). The plugin wouldn't work for earlier versions.

Getting Started

import 'package:migrate_flutter_secure_storage/migrate_flutter_secure_storage.dart';

// Create storage
final storage = new MigrateFlutterSecureStorage();

// Read value 
String value = await storage.read(key: key);

// Read all values
Map<String, String> allValues = await storage.readAll();

// Delete value 
await storage.delete(key: key);

// Delete all 
await storage.deleteAll();

// Write value 
await storage.write(key: key, value: value);

Configure Android version

In [project]/android/app/build.gradle set minSdkVersion to >= 18.

android {
    ...
    
    defaultConfig {
        ...
        minSdkVersion 18
        ...
    }

}

Note By default Android backups data on Google Drive. It can cause exception java.security.InvalidKeyException:Failed to unwrap key. You need to

Linux

You need libsecret-1-dev and libjsoncpp-dev on your machine to build the project, and libsecret-1-0 and libjsoncpp1 to run the application (add it as a dependency after packaging your app). If you using snapcraft to build the project use the following

parts:
  uet-lms:
    source: .
    plugin: flutter
    flutter-target: lib/main.dart 
    build-packages:
     - libsecret-1-dev
     - libjsoncpp-dev
    stage-packages:
     - libsecret-1-dev
     - libjsoncpp1-dev

Integration Tests

Run the following command from example directory

flutter drive --target=test_driver/app.dart

About

A Flutter plugin to store data in secure storage

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 30.4%
  • Dart 22.6%
  • C++ 18.4%
  • Objective-C 12.4%
  • CMake 11.5%
  • Ruby 2.7%
  • C 2.0%