KeyExchangeEcdhInitMessage
Represents SSH_MSG_KEXECDH_INIT message.
using Renci.SshNet.Common;
using System;
namespace Renci.SshNet.Messages.Transport
{
internal sealed class KeyExchangeEcdhInitMessage : Message, IKeyExchangedAllowed
{
public override string MessageName => "SSH_MSG_KEX_ECDH_INIT";
public override byte MessageNumber => 30;
public byte[] QC { get; set; }
protected override int BufferCapacity => base.BufferCapacity + 4 + QC.Length;
public KeyExchangeEcdhInitMessage(byte[] q)
{
QC = q;
}
public KeyExchangeEcdhInitMessage(BigInteger d, BigInteger q)
{
byte[] array = d.ToByteArray().Reverse();
byte[] array2 = q.ToByteArray().Reverse();
byte[] array3 = new byte[array.Length + array2.Length + 1];
array3[0] = 4;
Buffer.BlockCopy(array, 0, array3, 1, array.Length);
Buffer.BlockCopy(array2, 0, array3, array.Length + 1, array2.Length);
QC = array3;
}
protected override void LoadData()
{
QC = ReadBinary();
}
protected override void SaveData()
{
WriteBinaryString(QC);
}
internal override void Process(Session session)
{
throw new NotImplementedException();
}
}
}