Skip to content

Commit

Permalink
Bug fix - added password
Browse files Browse the repository at this point in the history
  • Loading branch information
muhammadsaddamnur committed Sep 7, 2022
1 parent df5f85b commit 6c3903c
Show file tree
Hide file tree
Showing 5 changed files with 63 additions and 23 deletions.
7 changes: 6 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,12 @@
## 0.1.1

*07-09-2022*
- bug fix

## 0.1.0

*02-09-2022*
- refactor pacakge
- refactor package
- add sign & verify
- add more flags
- add documentation
Expand Down
2 changes: 1 addition & 1 deletion example/pubspec.lock
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ packages:
path: ".."
relative: true
source: path
version: "0.1.0"
version: "0.1.1"
sky_engine:
dependency: transitive
description: flutter
Expand Down
2 changes: 1 addition & 1 deletion ios/Classes/SwiftSecureEnclavePlugin.swift
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ public class SwiftSecureEnclavePlugin: NSObject, FlutterPlugin {
let accessControlParam = AccessControlFactory(value: param!["accessControl"] as! Dictionary<String, Any>).build()

_ = try seCore.generateKeyPair(accessControlParam: accessControlParam)
result(resultSuccess(data:""))
result(resultSuccess(data:true))
} catch {
result(resultError(error:error))
}
Expand Down
73 changes: 54 additions & 19 deletions lib/secure_enclave.dart
Original file line number Diff line number Diff line change
Expand Up @@ -14,31 +14,49 @@ export 'src/models/result_model.dart';
export 'src/models/error_model.dart';

class SecureEnclave implements SecureEnclaveBase {


@override
Future<ResultModel<String?>> decrypt({required Uint8List message, required String tag, String? password}) {
return SecureEnclavePlatform.instance.decrypt(message: message, tag: tag);
Future<ResultModel<String?>> decrypt(
{required Uint8List message, required String tag, String? password}) {
return SecureEnclavePlatform.instance.decrypt(
message: message,
tag: tag,
password: password,
);
}

@override
Future<ResultModel<Uint8List?>> encrypt({required String message, required String tag, String? password}) {
return SecureEnclavePlatform.instance.encrypt(message: message, tag: tag);
Future<ResultModel<Uint8List?>> encrypt(
{required String message, required String tag, String? password}) {
return SecureEnclavePlatform.instance.encrypt(
message: message,
tag: tag,
password: password,
);
}

@override
Future<ResultModel<Uint8List?>> encryptWithPublicKey({required String message, required String publicKey}) {
return SecureEnclavePlatform.instance.encryptWithPublicKey(message: message, publicKey: publicKey);
Future<ResultModel<Uint8List?>> encryptWithPublicKey(
{required String message, required String publicKey}) {
return SecureEnclavePlatform.instance.encryptWithPublicKey(
message: message,
publicKey: publicKey,
);
}

@override
Future<ResultModel<bool>> generateKeyPair({required AccessControlModel accessControl}) {
return SecureEnclavePlatform.instance.generateKeyPair(accessControl: accessControl);
Future<ResultModel<bool>> generateKeyPair(
{required AccessControlModel accessControl}) {
return SecureEnclavePlatform.instance
.generateKeyPair(accessControl: accessControl);
}

@override
Future<ResultModel<String?>> getPublicKey({required String tag, String? password}) {
return SecureEnclavePlatform.instance.getPublicKey(tag: tag);
Future<ResultModel<String?>> getPublicKey(
{required String tag, String? password}) {
return SecureEnclavePlatform.instance.getPublicKey(
tag: tag,
password: password,
);
}

@override
Expand All @@ -47,18 +65,35 @@ class SecureEnclave implements SecureEnclaveBase {
}

@override
Future<ResultModel<String?>> sign({required Uint8List message, required String tag, String? password}) {
return SecureEnclavePlatform.instance.sign(message: message, tag: tag);
Future<ResultModel<String?>> sign(
{required Uint8List message, required String tag, String? password}) {
return SecureEnclavePlatform.instance.sign(
message: message,
tag: tag,
password: password,
);
}

@override
Future<ResultModel<bool?>> verify({required String plainText, required String signature, required String tag, String? password}) {
return SecureEnclavePlatform.instance.verify(plainText: plainText, signature: signature, tag: tag);
Future<ResultModel<bool?>> verify(
{required String plainText,
required String signature,
required String tag,
String? password}) {
return SecureEnclavePlatform.instance.verify(
plainText: plainText,
signature: signature,
tag: tag,
password: password,
);
}

@override
Future<ResultModel<bool?>> isKeyCreated({required String tag, String? password}) {
return SecureEnclavePlatform.instance.isKeyCreated(tag: tag);
Future<ResultModel<bool?>> isKeyCreated(
{required String tag, String? password}) {
return SecureEnclavePlatform.instance.isKeyCreated(
tag: tag,
password: password,
);
}

}
2 changes: 1 addition & 1 deletion pubspec.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: secure_enclave
description: secure_enclave is implementation Apple Secure Enclave for Flutter
version: 0.1.0
version: 0.1.1
homepage: https://github.com/anggaaryas/flutter-secure-enclave

environment:
Expand Down

0 comments on commit 6c3903c

Please sign in to comment.