<PackageReference Include="SSH.NET" Version="2020.0.1" />

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[] SharedKey { 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); } } }