KeyExchangeHashData
using Renci.SshNet.Common;
using System;
namespace Renci.SshNet.Security
{
internal class KeyExchangeHashData : SshData
{
private byte[] _serverVersion;
private byte[] _clientVersion;
public string ServerVersion {
private get {
return SshData.Utf8.GetString(_serverVersion, 0, _serverVersion.Length);
}
set {
_serverVersion = SshData.Utf8.GetBytes(value);
}
}
public string ClientVersion {
private get {
return SshData.Utf8.GetString(_clientVersion, 0, _clientVersion.Length);
}
set {
_clientVersion = SshData.Utf8.GetBytes(value);
}
}
public byte[] ClientPayload { get; set; }
public byte[] ServerPayload { get; set; }
public byte[] HostKey { get; set; }
public byte[] ClientExchangeValue { get; set; }
public byte[] ServerExchangeValue { get; set; }
public byte[] { get; set; }
protected override int BufferCapacity => base.BufferCapacity + 4 + _clientVersion.Length + 4 + _serverVersion.Length + 4 + ClientPayload.Length + 4 + ServerPayload.Length + 4 + HostKey.Length + 4 + ClientExchangeValue.Length + 4 + ServerExchangeValue.Length + 4 + SharedKey.Length;
protected override void LoadData()
{
throw new NotImplementedException();
}
protected override void SaveData()
{
WriteBinaryString(_clientVersion);
WriteBinaryString(_serverVersion);
WriteBinaryString(ClientPayload);
WriteBinaryString(ServerPayload);
WriteBinaryString(HostKey);
WriteBinaryString(ClientExchangeValue);
WriteBinaryString(ServerExchangeValue);
WriteBinaryString(SharedKey);
}
}
}