refactor: Move OmemoBundle into omemo/

This commit is contained in:
2022-08-03 17:16:40 +02:00
parent 55979fcbbe
commit 749e2e1a0a
3 changed files with 2 additions and 2 deletions

42
lib/src/omemo/bundle.dart Normal file
View File

@@ -0,0 +1,42 @@
import 'dart:convert';
import 'package:cryptography/cryptography.dart';
import 'package:omemo_dart/src/key.dart';
class OmemoBundle {
const OmemoBundle(
this.id,
this.spkEncoded,
this.spkId,
this.spkSignatureEncoded,
this.ikEncoded,
this.opksEncoded,
);
final String id;
/// The SPK but base64 encoded
final String spkEncoded;
final String spkId;
/// The SPK signature but base64 encoded
final String spkSignatureEncoded;
/// The IK but base64 encoded
final String ikEncoded;
/// The mapping of a OPK's id to the base64 encoded data
final Map<String, String> opksEncoded;
OmemoPublicKey get spk {
final data = base64Decode(spkEncoded);
return OmemoPublicKey.fromBytes(data, KeyPairType.x25519);
}
OmemoPublicKey get ik {
final data = base64Decode(ikEncoded);
return OmemoPublicKey.fromBytes(data, KeyPairType.ed25519);
}
OmemoPublicKey getOpk(String id) {
final data = base64Decode(opksEncoded[id]!);
return OmemoPublicKey.fromBytes(data, KeyPairType.x25519);
}
List<int> get spkSignature => base64Decode(spkSignatureEncoded);
}