'Unable to use flutter_secure_storage package. I keep on getting errors

This is the error I get:

W/KeyStore( 6026): KeyStore exception
W/KeyStore( 6026): android.os.ServiceSpecificException:  (code 7)
W/KeyStore( 6026):  at android.os.Parcel.createExceptionOrNull(Parcel.java:2387)
W/KeyStore( 6026):  at android.os.Parcel.createException(Parcel.java:2357)
W/KeyStore( 6026):  at android.os.Parcel.readException(Parcel.java:2340)
W/KeyStore( 6026):  at android.os.Parcel.readException(Parcel.java:2282)
W/KeyStore( 6026):  at android.security.keystore.IKeystoreService$Stub$Proxy.get(IKeystoreService.java:988)
W/KeyStore( 6026):  at android.security.KeyStore.get(KeyStore.java:233)
W/KeyStore( 6026):  at android.security.KeyStore.get(KeyStore.java:222)
W/KeyStore( 6026):  at android.security.keystore.AndroidKeyStoreSpi.engineGetCertificate(AndroidKeyStoreSpi.java:160)
W/KeyStore( 6026):  at java.security.KeyStore.getCertificate(KeyStore.java:1120)
W/KeyStore( 6026):  at com.it_nomads.fluttersecurestorage.ciphers.RSACipher18Implementation.getPublicKey(RSACipher18Implementation.java:90)
W/KeyStore( 6026):  at com.it_nomads.fluttersecurestorage.ciphers.RSACipher18Implementation.wrap(RSACipher18Implementation.java:39)
W/KeyStore( 6026):  at com.it_nomads.fluttersecurestorage.ciphers.StorageCipher18Implementation.<init>(StorageCipher18Implementation.java:52)
W/KeyStore( 6026):  at com.it_nomads.fluttersecurestorage.FlutterSecureStoragePlugin.ensureInitialized(FlutterSecureStoragePlugin.java:95)
W/KeyStore( 6026):  at com.it_nomads.fluttersecurestorage.FlutterSecureStoragePlugin.access$100(FlutterSecureStoragePlugin.java:37)
W/KeyStore( 6026):  at com.it_nomads.fluttersecurestorage.FlutterSecureStoragePlugin$MethodRunner.run(FlutterSecureStoragePlugin.java:337)
W/KeyStore( 6026):  at android.os.Handler.handleCallback(Handler.java:938)
W/KeyStore( 6026):  at android.os.Handler.dispatchMessage(Handler.java:99)
W/KeyStore( 6026):  at android.os.Looper.loop(Looper.java:223)
W/KeyStore( 6026):  at android.os.HandlerThread.run(HandlerThread.java:67)
W/KeyStore( 6026): KeyStore exception
W/KeyStore( 6026): android.os.ServiceSpecificException:  (code 7)
W/KeyStore( 6026):  at android.os.Parcel.createExceptionOrNull(Parcel.java:2387)
W/KeyStore( 6026):  at android.os.Parcel.createException(Parcel.java:2357)
W/KeyStore( 6026):  at android.os.Parcel.readException(Parcel.java:2340)
W/KeyStore( 6026):  at android.os.Parcel.readException(Parcel.java:2282)
W/KeyStore( 6026):  at android.security.keystore.IKeystoreService$Stub$Proxy.get(IKeystoreService.java:988)
W/KeyStore( 6026):  at android.security.KeyStore.get(KeyStore.java:233)
W/KeyStore( 6026):  at android.security.KeyStore.get(KeyStore.java:222)
W/KeyStore( 6026):  at android.security.keystore.AndroidKeyStoreSpi.engineGetCertificate(AndroidKeyStoreSpi.java:165)
W/KeyStore( 6026):  at java.security.KeyStore.getCertificate(KeyStore.java:1120)
W/KeyStore( 6026):  at com.it_nomads.fluttersecurestorage.ciphers.RSACipher18Implementation.getPublicKey(RSACipher18Implementation.java:90)
W/KeyStore( 6026):  at com.it_nomads.fluttersecurestorage.ciphers.RSACipher18Implementation.wrap(RSACipher18Implementation.java:39)
W/KeyStore( 6026):  at com.it_nomads.fluttersecurestorage.ciphers.StorageCipher18Implementation.<init>(StorageCipher18Implementation.java:52)
W/KeyStore( 6026):  at com.it_nomads.fluttersecurestorage.FlutterSecureStoragePlugin.ensureInitialized(FlutterSecureStoragePlugin.java:95)
W/KeyStore( 6026):  at com.it_nomads.fluttersecurestorage.FlutterSecureStoragePlugin.access$100(FlutterSecureStoragePlugin.java:37)
W/KeyStore( 6026):  at com.it_nomads.fluttersecurestorage.FlutterSecureStoragePlugin$MethodRunner.run(FlutterSecureStoragePlugin.java:337)
W/KeyStore( 6026):  at android.os.Handler.handleCallback(Handler.java:938)
W/KeyStore( 6026):  at android.os.Handler.dispatchMessage(Handler.java:99)
W/KeyStore( 6026):  at android.os.Looper.loop(Looper.java:223)
W/KeyStore( 6026):  at android.os.HandlerThread.run(HandlerThread.java:67)
E/FlutterSecureStoragePl( 6026): StorageCipher initialization failed
E/FlutterSecureStoragePl( 6026): java.lang.Exception: No certificate found under alias: com.example.ecgp_flutter.FlutterSecureStoragePluginKey
E/FlutterSecureStoragePl( 6026):    at com.it_nomads.fluttersecurestorage.ciphers.RSACipher18Implementation.getPublicKey(RSACipher18Implementation.java:92)
E/FlutterSecureStoragePl( 6026):    at com.it_nomads.fluttersecurestorage.ciphers.RSACipher18Implementation.wrap(RSACipher18Implementation.java:39)
E/FlutterSecureStoragePl( 6026):    at com.it_nomads.fluttersecurestorage.ciphers.StorageCipher18Implementation.<init>(StorageCipher18Implementation.java:52)
E/FlutterSecureStoragePl( 6026):    at com.it_nomads.fluttersecurestorage.FlutterSecureStoragePlugin.ensureInitialized(FlutterSecureStoragePlugin.java:95)
E/FlutterSecureStoragePl( 6026):    at com.it_nomads.fluttersecurestorage.FlutterSecureStoragePlugin.access$100(FlutterSecureStoragePlugin.java:37)
E/FlutterSecureStoragePl( 6026):    at com.it_nomads.fluttersecurestorage.FlutterSecureStoragePlugin$MethodRunner.run(FlutterSecureStoragePlugin.java:337)
E/FlutterSecureStoragePl( 6026):    at android.os.Handler.handleCallback(Handler.java:938)
E/FlutterSecureStoragePl( 6026):    at android.os.Handler.dispatchMessage(Handler.java:99)
E/FlutterSecureStoragePl( 6026):    at android.os.Looper.loop(Looper.java:223)
E/FlutterSecureStoragePl( 6026):    at android.os.HandlerThread.run(HandlerThread.java:67)
W/KeyStore( 6026): KeyStore exception
W/KeyStore( 6026): android.os.ServiceSpecificException:  (code 7)
W/KeyStore( 6026):  at android.os.Parcel.createExceptionOrNull(Parcel.java:2387)
W/KeyStore( 6026):  at android.os.Parcel.createException(Parcel.java:2357)
W/KeyStore( 6026):  at android.os.Parcel.readException(Parcel.java:2340)
W/KeyStore( 6026):  at android.os.Parcel.readException(Parcel.java:2282)
W/KeyStore( 6026):  at android.security.keystore.IKeystoreService$Stub$Proxy.get(IKeystoreService.java:988)
W/KeyStore( 6026):  at android.security.KeyStore.get(KeyStore.java:233)
W/KeyStore( 6026):  at android.security.KeyStore.get(KeyStore.java:222)
W/KeyStore( 6026):  at android.security.keystore.AndroidKeyStoreSpi.engineGetCertificate(AndroidKeyStoreSpi.java:160)
W/KeyStore( 6026):  at java.security.KeyStore.getCertificate(KeyStore.java:1120)
W/KeyStore( 6026):  at com.it_nomads.fluttersecurestorage.ciphers.RSACipher18Implementation.getPublicKey(RSACipher18Implementation.java:90)
W/KeyStore( 6026):  at com.it_nomads.fluttersecurestorage.ciphers.RSACipher18Implementation.wrap(RSACipher18Implementation.java:39)
W/KeyStore( 6026):  at com.it_nomads.fluttersecurestorage.ciphers.StorageCipher18Implementation.<init>(StorageCipher18Implementation.java:52)
W/KeyStore( 6026):  at com.it_nomads.fluttersecurestorage.FlutterSecureStoragePlugin.ensureInitialized(FlutterSecureStoragePlugin.java:95)
W/KeyStore( 6026):  at com.it_nomads.fluttersecurestorage.FlutterSecureStoragePlugin.access$100(FlutterSecureStoragePlugin.java:37)
W/KeyStore( 6026):  at com.it_nomads.fluttersecurestorage.FlutterSecureStoragePlugin$MethodRunner.run(FlutterSecureStoragePlugin.java:284)
W/KeyStore( 6026):  at android.os.Handler.handleCallback(Handler.java:938)
W/KeyStore( 6026):  at android.os.Handler.dispatchMessage(Handler.java:99)
W/KeyStore( 6026):  at android.os.Looper.loop(Looper.java:223)
W/KeyStore( 6026):  at android.os.HandlerThread.run(HandlerThread.java:67)
W/KeyStore( 6026): KeyStore exception
W/KeyStore( 6026): android.os.ServiceSpecificException:  (code 7)
W/KeyStore( 6026):  at android.os.Parcel.createExceptionOrNull(Parcel.java:2387)
W/KeyStore( 6026):  at android.os.Parcel.createException(Parcel.java:2357)
W/KeyStore( 6026):  at android.os.Parcel.readException(Parcel.java:2340)
W/KeyStore( 6026):  at android.os.Parcel.readException(Parcel.java:2282)
W/KeyStore( 6026):  at android.security.keystore.IKeystoreService$Stub$Proxy.get(IKeystoreService.java:988)
W/KeyStore( 6026):  at android.security.KeyStore.get(KeyStore.java:233)
W/KeyStore( 6026):  at android.security.KeyStore.get(KeyStore.java:222)
W/KeyStore( 6026):  at android.security.keystore.AndroidKeyStoreSpi.engineGetCertificate(AndroidKeyStoreSpi.java:165)
W/KeyStore( 6026):  at java.security.KeyStore.getCertificate(KeyStore.java:1120)
W/KeyStore( 6026):  at com.it_nomads.fluttersecurestorage.ciphers.RSACipher18Implementation.getPublicKey(RSACipher18Implementation.java:90)
W/KeyStore( 6026):  at com.it_nomads.fluttersecurestorage.ciphers.RSACipher18Implementation.wrap(RSACipher18Implementation.java:39)
W/KeyStore( 6026):  at com.it_nomads.fluttersecurestorage.ciphers.StorageCipher18Implementation.<init>(StorageCipher18Implementation.java:52)
W/KeyStore( 6026):  at com.it_nomads.fluttersecurestorage.FlutterSecureStoragePlugin.ensureInitialized(FlutterSecureStoragePlugin.java:95)
W/KeyStore( 6026):  at com.it_nomads.fluttersecurestorage.FlutterSecureStoragePlugin.access$100(FlutterSecureStoragePlugin.java:37)
W/KeyStore( 6026):  at com.it_nomads.fluttersecurestorage.FlutterSecureStoragePlugin$MethodRunner.run(FlutterSecureStoragePlugin.java:284)
W/KeyStore( 6026):  at android.os.Handler.handleCallback(Handler.java:938)
W/KeyStore( 6026):  at android.os.Handler.dispatchMessage(Handler.java:99)
W/KeyStore( 6026):  at android.os.Looper.loop(Looper.java:223)
W/KeyStore( 6026):  at android.os.HandlerThread.run(HandlerThread.java:67)
E/FlutterSecureStoragePl( 6026): StorageCipher initialization failed
E/FlutterSecureStoragePl( 6026): java.lang.Exception: No certificate found under alias: com.example.ecgp_flutter.FlutterSecureStoragePluginKey
E/FlutterSecureStoragePl( 6026):    at com.it_nomads.fluttersecurestorage.ciphers.RSACipher18Implementation.getPublicKey(RSACipher18Implementation.java:92)
E/FlutterSecureStoragePl( 6026):    at com.it_nomads.fluttersecurestorage.ciphers.RSACipher18Implementation.wrap(RSACipher18Implementation.java:39)
E/FlutterSecureStoragePl( 6026):    at com.it_nomads.fluttersecurestorage.ciphers.StorageCipher18Implementation.<init>(StorageCipher18Implementation.java:52)
E/FlutterSecureStoragePl( 6026):    at com.it_nomads.fluttersecurestorage.FlutterSecureStoragePlugin.ensureInitialized(FlutterSecureStoragePlugin.java:95)
E/FlutterSecureStoragePl( 6026):    at com.it_nomads.fluttersecurestorage.FlutterSecureStoragePlugin.access$100(FlutterSecureStoragePlugin.java:37)
E/FlutterSecureStoragePl( 6026):    at com.it_nomads.fluttersecurestorage.FlutterSecureStoragePlugin$MethodRunner.run(FlutterSecureStoragePlugin.java:284)
E/FlutterSecureStoragePl( 6026):    at android.os.Handler.handleCallback(Handler.java:938)
E/FlutterSecureStoragePl( 6026):    at android.os.Handler.dispatchMessage(Handler.java:99)
E/FlutterSecureStoragePl( 6026):    at android.os.Looper.loop(Looper.java:223)
E/FlutterSecureStoragePl( 6026):    at android.os.HandlerThread.run(HandlerThread.java:67)
E/flutter ( 6026): [ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: PlatformException(Exception encountered, write, java.lang.NullPointerException: Attempt to invoke interface method 'byte[] com.it_nomads.fluttersecurestorage.ciphers.StorageCipher.encrypt(byte[])' on a null object reference
E/flutter ( 6026):  at com.it_nomads.fluttersecurestorage.FlutterSecureStoragePlugin.write(FlutterSecureStoragePlugin.java:202)
E/flutter ( 6026):  at com.it_nomads.fluttersecurestorage.FlutterSecureStoragePlugin.access$300(FlutterSecureStoragePlugin.java:37)
E/flutter ( 6026):  at com.it_nomads.fluttersecurestorage.FlutterSecureStoragePlugin$MethodRunner.run(FlutterSecureStoragePlugin.java:289)
E/flutter ( 6026):  at android.os.Handler.handleCallback(Handler.java:938)
E/flutter ( 6026):  at android.os.Handler.dispatchMessage(Handler.java:99)
E/flutter ( 6026):  at android.os.Looper.loop(Looper.java:223)
E/flutter ( 6026):  at android.os.HandlerThread.run(HandlerThread.java:67)
E/flutter ( 6026): , null)
E/flutter ( 6026): #0      StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:607:7)
E/flutter ( 6026): #1      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:167:18)
E/flutter ( 6026): <asynchronous suspension>
E/flutter ( 6026): #2      _MyLoginState.validateData (package:ecgp_flutter/login.dart:240:7)
E/flutter ( 6026): <asynchronous suspension>
E/flutter ( 6026): 

The piece of code:

validateData(context, username, password) async {



    var url = Uri.parse('http://MYSERVER/accounts/login');
    var response = await http.post(url, body: {'phone_number': username,
      'password': password});
    print(response.statusCode);
    print(response.body);
    if (response.statusCode == 201){
      final Map loginData = json.decode(response.body);
      final storage = FlutterSecureStorage();
      storage.deleteAll();
      print("${loginData['id']}, ${loginData['token']}, ${loginData['phone_number']}");
      await storage.write(key: 'userId', value: "${loginData['id']}");
      await storage.write(key: 'token', value: loginData['token']);
      await storage.write(key: 'phoneNumber', value: loginData['phone_number']);
      return Navigator.pushReplacementNamed(context, 'dashboard');

    }
    else {
      AlertDialog alert = AlertDialog(
        shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(30)),
        title: Text("Authentication Failed!", textAlign: TextAlign.center),
        content: Text("Invalid Phone Number/Password", textAlign: TextAlign.center,),
        elevation: 50,
        actionsAlignment: MainAxisAlignment.center,
        actions: [
          TextButton(child: Text("OK", style: TextStyle(fontWeight: FontWeight.w400),), onPressed: ()=>Navigator.pop(context),)
        ],
      );
      return showDialog(context: context, builder: (BuildContext context){return alert;});
    }
  }
}

I have searched everywhere but I am able to find a solution for the errors/warning popping up.

I also found that I have to use this:

AndroidOptions _getAndroidOptions() => const AndroidOptions(
        encryptedSharedPreferences: true,
      );

But I placed it inside the function yet the errors kept popping up.

I have tried whatever there was on the internet but I am unable to resolve the issue that why I am getting these warnings. I would be glad if someone could help me out! ( I am new to flutter development )



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source