KeysInterface class Null safety

The interface for KeysModel persistance class.

The implementation should use OS level encrypted storage. It should not be accessible to other applications or users because it will store the private keys of the user, which is required for write operations in the chain.

EncryptedSharedPreferences should be used for Android. AES encryption is another option with AES secret key encrypted with RSA and RSA key is stored in KeyStore. See https://developer.android.com/reference/androidx/security/crypto/EncryptedSharedPreferences

Keychain is recommended for iOS and MacOS. See https://developer.apple.com/documentation/security/keychain_services

For Linux libscret is a reliable option. See https://gitlab.gnome.org/GNOME/libsecret

In JavaScript web environments the recommendation is WebCrypto with HTST enabled. See https://developer.mozilla.org/pt-BR/docs/Web/API/Web_Crypto_API

In other enviroments, use equivalent implementations of the recommended ones.

Constructors

KeysInterface()

Properties

hashCode → int
The hash code for this object.
read-only, inherited
runtimeType → Type
A representation of the runtime type of the object.
read-only, inherited

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed.
inherited
read({required String key}) → Future<String?>
toString() → String
A string representation of this object.
inherited
write({required String key, required String value}) → Future<void>

Operators

operator ==(Object other) → bool
The equality operator.
inherited