networkContainerLoad function
Implementation
XchgNetwork networkContainerLoad(Uint8List zipFileBS, String publicKeyBase64) {
var publicKeyBS = base64Decode(publicKeyBase64);
var publicKey = decodePublicKeyFromPKIX(publicKeyBS);
Uint8List networkFileBS64 =
networkContainerUnpack(zipFileBS, NetworkContainerFileNetwork);
Uint8List signatureFileBS64 =
networkContainerUnpack(zipFileBS, NetworkContainerFileSignature);
var networkFileBS = networkFileBS64;
var signatureFileBS = base64Decode(utf8.decode(signatureFileBS64));
var verifyResult = rsaVerify(publicKey, networkFileBS, signatureFileBS);
if (!verifyResult) {
throw "wrong signature";
}
var networkFileString = utf8.decode(networkFileBS);
var json = jsonDecode(networkFileString);
var network = XchgNetwork.fromJson(json);
return network;
}