secure_enclave 0.0.3+rev1 
secure_enclave: ^0.0.3+rev1 copied to clipboard
Apple Secure Enclave implementaton for Flutter
secure_enclave #
Apple Secure Enclave implementaton for Flutter
How to Use #
Create Key:
  void createKey(AccessControl accessControl ){
    _secureEnclavePlugin.createKey(
        accessControl: accessControl
    ).then((result){
      if(result.error == null){
        // success
      } else {
        showError(result);
      }
    });
  }
Check Key:
  void checkKey(String tag){
    _secureEnclavePlugin.checkKey(tag).then((value){
      // value is true or false...
    });
  }
Encrypt:
Uint8List encrypted = Uint8List(0);
void encrypt(String message, String tag) {
  _secureEnclavePlugin.encrypt(
      message: message,
      tag: tag).then((result) => setState(() {
    if (result.error == null) {
      encrypted = result.value ?? Uint8List(0);
    } else {
      showError(result);
    }
  }));
}
decrypt:
String decrypted = "";
void decrypt(Uint8List message, String tag, String? password) {
  _secureEnclavePlugin.decrypt(
      message: message,
      tag: tag,
      password: password).then((result) => setState(() {
    if (result.error == null) {
      decrypted = result.value ?? "";
    } else {
      showError(result);
    }
  }));
}
get base64EncodedString public Key:
  String publicKey = "";
void getPublicKey(String tag) {
  _secureEnclavePlugin.getPublicKey(tag: tag).then((result) {
    if (result.error == null) {
      publicKey = result.value ?? "";
    } else {
      showError(result);
    }
  });
}
Encrypt and use custom base64EncodedString public Key:
be aware that the tag and the required public key is valid. Otherwise, it will throw error. For safety, use encrypt function without custom public key
  Uint8List encryptedWithPublicKey = Uint8List(0);
void encryptWithPublicKey(String message) {
  _secureEnclavePlugin.encryptWithPublicKey(
      message: message,
      publicKeyString: publicKey).then((result) => setState(() {
    if (result.error == null) {
      encryptedWithPublicKey = result.value ?? Uint8List(0);
    } else {
      showError(result);
    }
  }));
}