//--------------------------------------------------------Constructor:----------------------------------------------------------------\\ #region --Constructors-- public OmemoKeyExchangeMessage(uint pkId, uint spkId, ECPubKeyModel ik, ECPubKeyModel ek, OmemoAuthenticatedMessage message) { PK_ID = pkId; SPK_ID = spkId; IK = ik; EK = ek; MESSAGE = message; }
public OmemoKeyExchangeMessage(byte[] data) { PK_ID = BitConverter.ToUInt32(data, 0); SPK_ID = BitConverter.ToUInt32(data, 4); IK = new ECPubKeyModel(new byte[KeyHelper.PUB_KEY_SIZE]); Buffer.BlockCopy(data, 8, IK.key, 0, IK.key.Length); EK = new ECPubKeyModel(new byte[KeyHelper.PUB_KEY_SIZE]); Buffer.BlockCopy(data, 8 + IK.key.Length, EK.key, 0, EK.key.Length); byte[] msg = new byte[data.Length - 4 - 4 - IK.key.Length - EK.key.Length]; Buffer.BlockCopy(data, 8 + IK.key.Length + EK.key.Length, msg, 0, msg.Length); MESSAGE = new OmemoAuthenticatedMessage(msg); Validate(); }