establishForEd25519 static method

Future<Ed25519Signer> establishForEd25519()

Initializes the Ed25519 signer object, which will allow the user to generate keys, rotate them and delete them.

Implementation

static Future<Ed25519Signer> establishForEd25519() async {
  // if (Platform.isWindows) {
  //   String uuid = const Uuid().v4().toString();
  //   EdKeyPair keyPair0 = await NaclWin.generateKey();
  //   await writeData("${uuid}_0_pub", keyPair0.pubKey);
  //   await writeData("${uuid}_0_priv", keyPair0.privKey);
  //   EdKeyPair keyPair1 = await NaclWin.generateKey();
  //   await writeData("${uuid}_1_pub", keyPair1.pubKey);
  //   await writeData("${uuid}_1_priv", keyPair1.privKey);
  //   return Ed25519Signer(uuid);
  //} else {
  var isDeviceSecure = await checkIfDeviceSecure();
  if (isDeviceSecure) {
    String uuid = const Uuid().v4().toString();
    await _channel.invokeMethod('establishForEd25519', {'uuid': uuid});
    return Ed25519Signer(uuid);
  } else {
    throw DeviceNotSecuredException(
        'Secure lock on this device is not set up. Consider setting a pin or pattern.');
  }
  //}
}