浏览代码

Remove unused class.

drieseng 9 年之前
父节点
当前提交
df765ff068

+ 6 - 5
src/Renci.SshNet.NET35/Renci.SshNet.NET35.csproj

@@ -21,6 +21,8 @@
     <DefineConstants>TRACE;DEBUG;FEATURE_RNG_CSP;FEATURE_SOCKET_SYNC;FEATURE_SOCKET_EAP;FEATURE_SOCKET_POLL;FEATURE_STREAM_APM;FEATURE_DNS_SYNC;FEATURE_THREAD_THREADPOOL;FEATURE_THREAD_SLEEP;FEATURE_HASH_MD5;FEATURE_HASH_SHA1;FEATURE_HASH_SHA256;FEATURE_HASH_SHA384;FEATURE_HASH_SHA512;FEATURE_HASH_RIPEMD160;FEATURE_HMAC_MD5;FEATURE_HMAC_SHA1;FEATURE_HMAC_SHA256;FEATURE_HMAC_SHA384;FEATURE_HMAC_SHA512;FEATURE_HMAC_RIPEMD160;FEATURE_MEMORYSTREAM_GETBUFFER;FEATURE_DIAGNOSTICS_TRACESOURCE;FEATURE_ENCODING_ASCII</DefineConstants>
     <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>
+    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
+    <DocumentationFile>bin\Debug\Renci.SshNet.xml</DocumentationFile>
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
     <DebugType>none</DebugType>
@@ -30,7 +32,9 @@
     <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>
     <DocumentationFile>bin\Release\Renci.SshNet.xml</DocumentationFile>
-    <NoWarn>1591</NoWarn>
+    <NoWarn>
+    </NoWarn>
+    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
   </PropertyGroup>
   <PropertyGroup>
     <SignAssembly>true</SignAssembly>
@@ -728,9 +732,6 @@
     <Compile Include="..\Renci.SshNet\Security\KeyExchangeDiffieHellmanGroupSha1.cs">
       <Link>Security\KeyExchangeDiffieHellmanGroupSha1.cs</Link>
     </Compile>
-    <Compile Include="..\Renci.SshNet\Security\KeyExchangeEllipticCurveDiffieHellman.cs">
-      <Link>Security\KeyExchangeEllipticCurveDiffieHellman.cs</Link>
-    </Compile>
     <Compile Include="..\Renci.SshNet\Security\KeyHostAlgorithm.cs">
       <Link>Security\KeyHostAlgorithm.cs</Link>
     </Compile>
@@ -936,7 +937,7 @@
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
   <ProjectExtensions>
     <VisualStudio>
-      <UserProperties ProjectLinkerExcludeFilter="\\?desktop(\\.*)?$;\\?silverlight(\\.*)?$;\.desktop;\.silverlight;\.xaml;^service references(\\.*)?$;\.clientconfig;^web references(\\.*)?$" ProjectLinkReference="2f5f8c90-0bd1-424f-997c-7bc6280919d1" />
+      <UserProperties ProjectLinkReference="2f5f8c90-0bd1-424f-997c-7bc6280919d1" ProjectLinkerExcludeFilter="\\?desktop(\\.*)?$;\\?silverlight(\\.*)?$;\.desktop;\.silverlight;\.xaml;^service references(\\.*)?$;\.clientconfig;^web references(\\.*)?$" />
     </VisualStudio>
   </ProjectExtensions>
   <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 

+ 5 - 5
src/Renci.SshNet.Silverlight5/Renci.SshNet.Silverlight5.csproj

@@ -36,6 +36,7 @@
     <WarningLevel>4</WarningLevel>
     <Prefer32Bit>false</Prefer32Bit>
     <DocumentationFile>Bin\Debug\Renci.SshNet.xml</DocumentationFile>
+    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
     <DebugType>none</DebugType>
@@ -48,7 +49,9 @@
     <WarningLevel>4</WarningLevel>
     <Prefer32Bit>false</Prefer32Bit>
     <DocumentationFile>Bin\Release\Renci.SshNet.xml</DocumentationFile>
-    <NoWarn>1591</NoWarn>
+    <NoWarn>
+    </NoWarn>
+    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
   </PropertyGroup>
   <PropertyGroup>
     <SignAssembly>true</SignAssembly>
@@ -709,9 +712,6 @@
     <Compile Include="..\Renci.SshNet\Security\KeyExchangeDiffieHellmanGroupSha1.cs">
       <Link>Security\KeyExchangeDiffieHellmanGroupSha1.cs</Link>
     </Compile>
-    <Compile Include="..\Renci.SshNet\Security\KeyExchangeEllipticCurveDiffieHellman.cs">
-      <Link>Security\KeyExchangeEllipticCurveDiffieHellman.cs</Link>
-    </Compile>
     <Compile Include="..\Renci.SshNet\Security\KeyHostAlgorithm.cs">
       <Link>Security\KeyHostAlgorithm.cs</Link>
     </Compile>
@@ -912,7 +912,7 @@
       <FlavorProperties GUID="{A1591282-1198-4647-A2B1-27E5FF5F6F3B}">
         <SilverlightProjectProperties />
       </FlavorProperties>
-      <UserProperties ProjectLinkerExcludeFilter="\\?desktop(\\.*)?$;\\?silverlight(\\.*)?$;\.desktop;\.silverlight;\.xaml;^service references(\\.*)?$;\.clientconfig;^web references(\\.*)?$" ProjectLinkReference="2f5f8c90-0bd1-424f-997c-7bc6280919d1" />
+      <UserProperties ProjectLinkReference="2f5f8c90-0bd1-424f-997c-7bc6280919d1" ProjectLinkerExcludeFilter="\\?desktop(\\.*)?$;\\?silverlight(\\.*)?$;\.desktop;\.silverlight;\.xaml;^service references(\\.*)?$;\.clientconfig;^web references(\\.*)?$" />
     </VisualStudio>
   </ProjectExtensions>
   <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 

+ 2 - 3
src/Renci.SshNet.UAP10/Renci.SshNet.UAP10.csproj

@@ -27,6 +27,7 @@
     <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>
     <DocumentationFile>bin\Debug\Renci.SshNet.xml</DocumentationFile>
+    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
     <PlatformTarget>AnyCPU</PlatformTarget>
@@ -37,6 +38,7 @@
     <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>
     <DocumentationFile>bin\Release\Renci.SshNet.xml</DocumentationFile>
+    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
     <PlatformTarget>x86</PlatformTarget>
@@ -766,9 +768,6 @@
     <Compile Include="..\Renci.SshNet\Security\KeyExchangeDiffieHellmanGroupSha1.cs">
       <Link>Security\KeyExchangeDiffieHellmanGroupSha1.cs</Link>
     </Compile>
-    <Compile Include="..\Renci.SshNet\Security\KeyExchangeEllipticCurveDiffieHellman.cs">
-      <Link>Security\KeyExchangeEllipticCurveDiffieHellman.cs</Link>
-    </Compile>
     <Compile Include="..\Renci.SshNet\Security\KeyHostAlgorithm.cs">
       <Link>Security\KeyHostAlgorithm.cs</Link>
     </Compile>

+ 3 - 1
src/Renci.SshNet.VS2015.sln.DotSettings

@@ -6,4 +6,6 @@
 	<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=UnusedParameter_002ELocal/@EntryIndexedValue">WARNING</s:String>
 	<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=UseNameofExpression/@EntryIndexedValue">DO_NOT_SHOW</s:String>
 	<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=UseNullPropagation/@EntryIndexedValue">DO_NOT_SHOW</s:String>
-	<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=UseStringInterpolation/@EntryIndexedValue">DO_NOT_SHOW</s:String></wpf:ResourceDictionary>
+	<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=UseStringInterpolation/@EntryIndexedValue">DO_NOT_SHOW</s:String>
+	<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=HMACMD/@EntryIndexedValue">HMACMD</s:String>
+	<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=HMACSHA/@EntryIndexedValue">HMACSHA</s:String></wpf:ResourceDictionary>

+ 5 - 5
src/Renci.SshNet.WindowsPhone8/Renci.SshNet.WindowsPhone8.csproj

@@ -30,6 +30,7 @@
     <WarningLevel>4</WarningLevel>
     <Prefer32Bit>false</Prefer32Bit>
     <DocumentationFile>Bin\Debug\Renci.SshNet.xml</DocumentationFile>
+    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
     <DebugType>none</DebugType>
@@ -42,7 +43,9 @@
     <WarningLevel>4</WarningLevel>
     <Prefer32Bit>false</Prefer32Bit>
     <DocumentationFile>Bin\Release\Renci.SshNet.xml</DocumentationFile>
-    <NoWarn>1591</NoWarn>
+    <NoWarn>
+    </NoWarn>
+    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
     <DebugSymbols>true</DebugSymbols>
@@ -724,9 +727,6 @@
     <Compile Include="..\Renci.SshNet\Security\KeyExchangeDiffieHellmanGroupSha1.cs">
       <Link>Security\KeyExchangeDiffieHellmanGroupSha1.cs</Link>
     </Compile>
-    <Compile Include="..\Renci.SshNet\Security\KeyExchangeEllipticCurveDiffieHellman.cs">
-      <Link>Security\KeyExchangeEllipticCurveDiffieHellman.cs</Link>
-    </Compile>
     <Compile Include="..\Renci.SshNet\Security\KeyHostAlgorithm.cs">
       <Link>Security\KeyHostAlgorithm.cs</Link>
     </Compile>
@@ -932,7 +932,7 @@
   <Import Project="$(MSBuildExtensionsPath)\Microsoft\$(TargetFrameworkIdentifier)\$(TargetFrameworkVersion)\Microsoft.$(TargetFrameworkIdentifier).CSharp.targets" />
   <ProjectExtensions>
     <VisualStudio>
-      <UserProperties ProjectLinkerExcludeFilter="\\?desktop(\\.*)?$;\\?silverlight(\\.*)?$;\.desktop;\.silverlight;\.xaml;^service references(\\.*)?$;\.clientconfig;^web references(\\.*)?$" ProjectLinkReference="2f5f8c90-0bd1-424f-997c-7bc6280919d1" />
+      <UserProperties ProjectLinkReference="2f5f8c90-0bd1-424f-997c-7bc6280919d1" ProjectLinkerExcludeFilter="\\?desktop(\\.*)?$;\\?silverlight(\\.*)?$;\.desktop;\.silverlight;\.xaml;^service references(\\.*)?$;\.clientconfig;^web references(\\.*)?$" />
     </VisualStudio>
   </ProjectExtensions>
   <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 

+ 4 - 2
src/Renci.SshNet/Renci.SshNet.csproj

@@ -22,6 +22,7 @@
     <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>
     <DocumentationFile>bin\Debug\Renci.SshNet.xml</DocumentationFile>
+    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
     <DebugType>none</DebugType>
@@ -31,7 +32,9 @@
     <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>
     <DocumentationFile>bin\Release\Renci.SshNet.xml</DocumentationFile>
-    <NoWarn>1591</NoWarn>
+    <NoWarn>
+    </NoWarn>
+    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
   </PropertyGroup>
   <PropertyGroup>
     <SignAssembly>true</SignAssembly>
@@ -171,7 +174,6 @@
     <Compile Include="Security\GroupExchangeHashData.cs" />
     <Compile Include="Security\IKeyExchange.cs" />
     <Compile Include="Security\KeyExchangeDiffieHellmanGroupExchangeShaBase.cs" />
-    <Compile Include="Security\KeyExchangeEllipticCurveDiffieHellman.cs" />
     <Compile Include="ServiceFactory.cs" />
     <Compile Include="ServiceFactory.NET.cs" />
     <Compile Include="Sftp\ISftpSession.cs" />

+ 0 - 278
src/Renci.SshNet/Security/KeyExchangeEllipticCurveDiffieHellman.cs

@@ -1,278 +0,0 @@
-using System;
-using Renci.SshNet.Messages.Transport;
-using Renci.SshNet.Messages;
-using Renci.SshNet.Common;
-using System.Globalization;
-
-namespace Renci.SshNet.Security
-{
-    /// <summary>
-    /// Represents base class for Diffie Hellman key exchange algorithm
-    /// </summary>
-    public class KeyExchangeEllipticCurveDiffieHellman : KeyExchange
-    {
-        /// <summary>
-        /// Specifies client payload
-        /// </summary>
-        private byte[] _clientPayload;
-
-        /// <summary>
-        /// Specifies server payload
-        /// </summary>
-        private byte[] _serverPayload;
-
-        /// <summary>
-        /// Specifies client exchange number.
-        /// </summary>
-        private BigInteger _clientExchangeValue;
-
-        /// <summary>
-        /// Specifies server exchange number.
-        /// </summary>
-        private BigInteger _serverExchangeValue;
-
-        /// <summary>
-        /// Specifies random generated number.
-        /// </summary>
-        private BigInteger _randomValue;
-
-        /// <summary>
-        /// Specifies host key data.
-        /// </summary>
-        private byte[] _hostKey;
-
-        /// <summary>
-        /// Specifies signature data.
-        /// </summary>
-        private byte[] _signature;
-
-        ////  256
-        //p = FFFFFFFF 00000001 00000000 00000000 00000000 FFFFFFFF FFFFFFFF FFFFFFFF
-        //a = FFFFFFFF 00000001 00000000 00000000 00000000 FFFFFFFF FFFFFFFF FFFFFFFC
-        //b = 5AC635D8 AA3A93E7 B3EBBD55 769886BC 651D06B0 CC53B0F6 3BCE3C3E 27D2604B
-        //S = C49D3608 86E70493 6A6678E1 139D26B7 819F7E90
-        //The base point G in compressed form is:
-        //G = 03 6B17D1F2 E12C4247 F8BCE6E5 63A440F2 77037D81 2DEB33A0 F4A13945 D898C296
-        //and in uncompressed form is:
-        //G = 04 6B17D1F2 E12C4247 F8BCE6E5 63A440F2 77037D81 2DEB33A0 F4A13945 D898C296 4FE342E2 FE1A7F9B 8EE7EB4A 7C0F9E16 2BCE3357 6B315ECE CBB64068 37BF51F5
-        //n = FFFFFFFF 00000000 FFFFFFFF FFFFFFFF BCE6FAAD A7179E84 F3B9CAC2 FC632551
-        //h = 01
-
-        ////  384
-        //p = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE FFFFFFFF 00000000 00000000 FFFFFFFF
-        //a = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE FFFFFFFF 00000000 00000000 FFFFFFFC
-        //b = B3312FA7 E23EE7E4 988E056B E3F82D19 181D9C6E FE814112 0314088F 5013875A C656398D 8A2ED19D 2A85C8ED D3EC2AEF
-        //S = A335926A A319A27A 1D00896A 6773A482 7ACDAC73
-        //The base point G in compressed form is:
-        //G = 03 AA87CA22 BE8B0537 8EB1C71E F320AD74 6E1D3B62 8BA79B98 59F741E0 82542A38 5502F25D BF55296C 3A545E38 72760AB7
-        //and in uncompressed form is:
-        //G = 04 AA87CA22 BE8B0537 8EB1C71E F320AD74 6E1D3B62 8BA79B98 59F741E0 82542A38 5502F25D BF55296C 3A545E38 72760AB7 3617DE4A 96262C6F 5D9E98BF 9292DC29 F8F41DBD 289A147C E9DA3113 B5F0B8C0 0A60B1CE 1D7E819D 7A431D7C 90EA0E5F
-        //n = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF C7634D81 F4372DDF 581A0DB2 48B0A77A ECEC196A CCC52973
-        //h = 01
-
-        public override string Name
-        {
-            get { return "ecdh-sha2-nistp256"; }
-        }
-
-        /// <summary>
-        /// Starts key exchange algorithm
-        /// </summary>
-        /// <param name="session">The session.</param>
-        /// <param name="message">Key exchange init message.</param>
-        public override void Start(Session session, KeyExchangeInitMessage message)
-        {
-            base.Start(session, message);
-
-            _serverPayload = message.GetBytes();
-            _clientPayload = Session.ClientInitMessage.GetBytes();
-
-            Session.RegisterMessage("SSH_MSG_KEXECDH_REPLY");
-
-            Session.MessageReceived += Session_MessageReceived;
-
-            //3.2.1 Elliptic Curve Key Pair Generation Primitive
-            //Elliptic curve key pairs should be generated as follows:
-            //Input: Valid elliptic curve domain parameters T = (p, a, b, G, n, h) or (m, f(x), a, b,G, n, h).
-            //Output: An elliptic curve key pair (d,Q) associated with T.
-            //Actions: Generate an elliptic curve key pair as follows:
-            //1. Randomly or pseudorandomly select an integer d in the interval [1, n − 1].
-            //2. Compute Q = dG.
-            //3. Output (d,Q).
-            
-            BigInteger p;
-            BigInteger.TryParse("00FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF", NumberStyles.AllowHexSpecifier, NumberFormatInfo.CurrentInfo, out p);
-
-
-
-            BigInteger n;
-            BigInteger.TryParse("00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7634D81F4372DDF581A0DB248B0A77AECEC196ACCC52973", NumberStyles.AllowHexSpecifier, NumberFormatInfo.CurrentInfo, out n);
-            BigInteger G;
-            BigInteger.TryParse("00036B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C296", NumberStyles.AllowHexSpecifier, NumberFormatInfo.CurrentInfo, out G);
-
-            BigInteger d;
-
-            do
-            {
-                d = BigInteger.Random(n.BitLength);
-            } while (d < 1 || d > n);
-
-            var Q = d * G;
-
-
-            SendMessage(new KeyExchangeEcdhInitMessage(d, Q));
-
-        }
-
-        private void Session_MessageReceived(object sender, MessageEventArgs<Message> e)
-        {
-            var message = e.Message as KeyExchangeEcdhReplyMessage;
-            if (message != null)
-            {
-                // Unregister message once received
-                Session.UnRegisterMessage("SSH_MSG_KEXECDH_REPLY");
-
-                HandleServerEcdhReply();
-
-                // When SSH_MSG_KEXDH_REPLY received key exchange is completed
-                Finish();
-            }
-        }
-
-        /// <summary>
-        /// Validates the exchange hash.
-        /// </summary>
-        /// <returns>
-        /// true if exchange hash is valid; otherwise false.
-        /// </returns>
-        protected override bool ValidateExchangeHash()
-        {
-            //var exchangeHash = this.CalculateHash();
-
-            //var length = (uint)(this._hostKey[0] << 24 | this._hostKey[1] << 16 | this._hostKey[2] << 8 | this._hostKey[3]);
-
-            //var algorithmName = Encoding.UTF8.GetString(this._hostKey, 4, (int)length);
-
-            //var key = this.Session.ConnectionInfo.HostKeyAlgorithms[algorithmName](this._hostKey);
-
-            //this.Session.ConnectionInfo.CurrentHostKeyAlgorithm = algorithmName;
-
-            //if (this.CanTrustHostKey(key))
-            //{
-
-            //    return key.VerifySignature(exchangeHash, this._signature);
-            //}
-            //else
-            //{
-            //    return false;
-            //}
-
-            return false;
-        }
-
-        /// <summary>
-        /// Populates the client exchange value.
-        /// </summary>
-        //protected void PopulateClientExchangeValue()
-        //{
-        //    if (this._group.IsZero)
-        //        throw new ArgumentNullException("_group");
-
-        //    if (this._prime.IsZero)
-        //        throw new ArgumentNullException("_prime");
-
-        //    var bitLength = this._prime.BitLength;
-
-        //    do
-        //    {
-        //        this._randomValue = BigInteger.Random(bitLength);
-
-        //        this._clientExchangeValue = BigInteger.ModPow(this._group, this._randomValue, this._prime);
-
-        //    } while (this._clientExchangeValue < 1 || this._clientExchangeValue > ((this._prime - 1)));
-        //}
-
-        protected virtual void HandleServerEcdhReply()
-        {
-            //this._serverExchangeValue = serverExchangeValue;
-            //this._hostKey = hostKey;
-            //this.SharedKey = BigInteger.ModPow(serverExchangeValue, this._randomValue, this._prime);
-            //this._signature = signature;
-        }
-
-        protected override byte[] CalculateHash()
-        {
-            var hashData = new _ExchangeHashData
-            {
-                ClientVersion = Session.ClientVersion,
-                ServerVersion = Session.ServerVersion,
-                ClientPayload = _clientPayload,
-                ServerPayload = _serverPayload,
-                HostKey = _hostKey,
-                SharedKey = SharedKey,
-            }.GetBytes();
-
-            //string   V_C, client's identification string (CR and LF excluded)
-            //string   V_S, server's identification string (CR and LF excluded)
-            //string   I_C, payload of the client's SSH_MSG_KEXINIT
-            //string   I_S, payload of the server's SSH_MSG_KEXINIT
-            //string   K_S, server's public host key
-            //string   Q_C, client's ephemeral public key octet string
-            //string   Q_S, server's ephemeral public key octet string
-            //mpint    K,   shared secret
-            return Hash(hashData);
-        }
-
-        private class _ExchangeHashData : SshData
-        {
-            public string ServerVersion { get; set; }
-
-            public string ClientVersion { get; set; }
-
-            public byte[] ClientPayload { get; set; }
-
-            public byte[] ServerPayload { get; set; }
-
-            public byte[] HostKey { get; set; }
-
-            public uint MinimumGroupSize { get; set; }
-
-            public uint PreferredGroupSize { get; set; }
-
-            public uint MaximumGroupSize { get; set; }
-
-            public BigInteger Prime { get; set; }
-
-            public BigInteger SubGroup { get; set; }
-
-            public BigInteger ClientExchangeValue { get; set; }
-
-            public BigInteger ServerExchangeValue { get; set; }
-
-            public BigInteger SharedKey { get; set; }
-
-            protected override void LoadData()
-            {
-                throw new NotImplementedException();
-            }
-
-            protected override void SaveData()
-            {
-                Write(ClientVersion);
-                Write(ServerVersion);
-                WriteBinaryString(ClientPayload);
-                WriteBinaryString(ServerPayload);
-                WriteBinaryString(HostKey);
-                Write(MinimumGroupSize);
-                Write(PreferredGroupSize);
-                Write(MaximumGroupSize);
-                Write(Prime);
-                Write(SubGroup);
-                Write(ClientExchangeValue);
-                Write(ServerExchangeValue);
-                Write(SharedKey);
-            }
-        }
-
-    }
-}