diff --git a/loc_chain_app/lib/pages/keygen.dart b/loc_chain_app/lib/pages/keygen.dart index f36160e..c634f6c 100644 --- a/loc_chain_app/lib/pages/keygen.dart +++ b/loc_chain_app/lib/pages/keygen.dart @@ -1,54 +1,11 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter/widgets.dart'; + import 'package:fast_rsa/rsa.dart'; import 'package:fast_rsa/model/bridge.pb.dart'; -import 'package:path_provider/path_provider.dart'; - -import 'dart:io'; -class KeyFileManager { - static Future get _localPath async { - final directory = await getApplicationDocumentsDirectory(); - return directory.path; - } - - static Future get _pubKeyFile async { - final path = await _localPath; - return File('$path/rsa.pub'); - } - - static Future get _privKeyFile async { - final path = await _localPath; - return File('$path/rsa'); - } - - static Future readKeyPair() async { - try { - String privKey = await _privKeyFile.then( - (file) => file.readAsString(), - ); - String pubKey = await _pubKeyFile.then( - (file) => file.readAsString(), - ); - - return KeyPair( - privateKey: privKey, - publicKey: pubKey, - ); - } catch (e) { - print(e); - return KeyPair(); - } - } - - static Future writeKeyPair(KeyPair pair) async { - final File privKeyFile = await _privKeyFile; - final File pubKeyFile = await _pubKeyFile; - pubKeyFile.writeAsString(pair.publicKey); - privKeyFile.writeAsString(pair.privateKey); - } -} +import 'package:loc_chain_app/util/keyfile_manager.dart'; class KeygenPage extends StatefulWidget { KeygenPage({Key? key, required this.title}) : super(key: key); diff --git a/loc_chain_app/lib/util/keyfile_manager.dart b/loc_chain_app/lib/util/keyfile_manager.dart new file mode 100644 index 0000000..97c2136 --- /dev/null +++ b/loc_chain_app/lib/util/keyfile_manager.dart @@ -0,0 +1,46 @@ +import 'package:fast_rsa/model/bridge.pb.dart'; +import 'package:path_provider/path_provider.dart'; +import 'dart:io'; + +class KeyFileManager { + static Future get _localPath async { + final directory = await getApplicationDocumentsDirectory(); + return directory.path; + } + + static Future get _pubKeyFile async { + final path = await _localPath; + return File('$path/rsa.pub'); + } + + static Future get _privKeyFile async { + final path = await _localPath; + return File('$path/rsa'); + } + + static Future readKeyPair() async { + try { + String privKey = await _privKeyFile.then( + (file) => file.readAsString(), + ); + String pubKey = await _pubKeyFile.then( + (file) => file.readAsString(), + ); + + return KeyPair( + privateKey: privKey, + publicKey: pubKey, + ); + } catch (e) { + print(e); + return KeyPair(); + } + } + + static Future writeKeyPair(KeyPair pair) async { + final File privKeyFile = await _privKeyFile; + final File pubKeyFile = await _pubKeyFile; + pubKeyFile.writeAsString(pair.publicKey); + privKeyFile.writeAsString(pair.privateKey); + } +} diff --git a/loc_chain_app/lib/util/transaction.dart b/loc_chain_app/lib/util/transaction.dart new file mode 100644 index 0000000..c8c1643 --- /dev/null +++ b/loc_chain_app/lib/util/transaction.dart @@ -0,0 +1,5 @@ +import 'package:flutter/services.dart'; +import 'package:fast_rsa/model/bridge.pb.dart'; +import 'package:fast_rsa/rsa.dart'; + +class Transaction {}