getHiveSecretFromKeychain method
Function to get hive secret from keychain
Implementation
Future<List<int>> getHiveSecretFromKeychain(String atsign) async {
assert(atsign.isNotEmpty);
List<int> secretAsUint8List = [];
try {
var atsignItem = await readAtsign(name: atsign);
var hiveSecretString = (await readAtsign(name: atsign))?.hiveSecret;
if (hiveSecretString == null) {
secretAsUint8List = _generatePersistenceSecret();
hiveSecretString = String.fromCharCodes(secretAsUint8List);
atsignItem = atsignItem?.copyWith(
hiveSecret: hiveSecretString,
);
if (atsignItem != null) {
storeAtSign(atSign: atsignItem);
}
} else {
secretAsUint8List = Uint8List.fromList(hiveSecretString.codeUnits);
}
} on Exception catch (exception) {
_logger.severe(
'exception in getHiveSecretFromKeychain : ${exception.toString()}');
}
return secretAsUint8List;
}