setMessageKeys method
void
setMessageKeys(
- ECPublicKey senderEphemeral,
- MessageKeys messageKeys
)
Implementation
void setMessageKeys(ECPublicKey senderEphemeral, MessageKeys messageKeys) {
final chainAndIndex = _getReceiverChain(senderEphemeral);
if (chainAndIndex == null) {
return;
}
final chain = chainAndIndex.$1;
final messageKeyStructure = SessionStructureChainMessageKey.create()
..cipherKey = Uint8List.fromList(messageKeys.getCipherKey())
..macKey = Uint8List.fromList(messageKeys.getMacKey())
..index = messageKeys.getCounter()
..iv = Uint8List.fromList(messageKeys.getIv());
chain.messageKeys.add(messageKeyStructure);
if (chain.messageKeys.length > maxMessageKeys) {
chain.messageKeys.removeAt(0);
}
_sessionStructure.receiverChains
.setAll(chainAndIndex.$2, <SessionStructureChain>[chain]);
}