#if false using System; using Renci.SshNet.Common; namespace Renci.SshNet.Messages.Transport { /// /// Represents SSH_MSG_KEXECDH_INIT message. /// [Message("SSH_MSG_KEXECDH_INIT", 30)] internal class KeyExchangeEcdhInitMessage : Message, IKeyExchangedAllowed { /// /// Gets the client's ephemeral contribution to the ECDH exchange, encoded as an octet string /// public byte[] QC { get; private set; } /// /// Gets the size of the message in bytes. /// /// /// The size of the messages in bytes. /// protected override int BufferCapacity { get { var capacity = base.BufferCapacity; capacity += 4; // QC length capacity += QC.Length; // QC return capacity; } } /// /// Initializes a new instance of the class. /// public KeyExchangeEcdhInitMessage(BigInteger d, BigInteger q) { var dBytes = d.ToByteArray().Reverse(); var qBytes = q.ToByteArray().Reverse(); var data = new byte[dBytes.Length + qBytes.Length + 1]; data[0] = 0x04; Buffer.BlockCopy(dBytes, 0, data, 1, dBytes.Length); Buffer.BlockCopy(qBytes, 0, data, dBytes.Length + 1, qBytes.Length); QC = data; } /// /// Called when type specific data need to be loaded. /// protected override void LoadData() { QC = ReadBinary(); } /// /// Called when type specific data need to be saved. /// protected override void SaveData() { WriteBinaryString(QC); } } } #endif // false