Ver Fonte

Delete RSADigitalSignature.cs

Remove file that was actually deleted in Codeplex.
Gert Driesen há 9 anos atrás
pai
commit
0699930785

+ 0 - 115
Renci.SshClient/Renci.SshNet/Security/Cryptography/RSADigitalSignature.cs

@@ -1,115 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Security.Cryptography;
-using Renci.SshNet.Common;
-
-namespace Renci.SshNet.Security.Cryptography
-{
-    /// <summary>
-    /// Implements RSAdigital signature algorithm.
-    /// </summary>
-    public class RSADigitalSignature : DigitalSignature
-    {
-        private HashAlgorithm _hash;
-        private RSACipher _cipher;
-
-        /// <summary>
-        /// Initializes a new instance of the <see cref="RSADigitalSignature"/> class.
-        /// </summary>
-        /// <param name="key">The key.</param>
-        public RSADigitalSignature(RSAPublicKey key)
-        {
-            this._hash = new SHA1Hash();
-            this._cipher = new RSACipher(this._hash, key);
-        }
-
-        /// <summary>
-        /// Verifies the signature.
-        /// </summary>
-        /// <param name="input">The input.</param>
-        /// <param name="signature">The signature.</param>
-        /// <returns></returns>
-        public override bool VerifySignature(byte[] input, byte[] signature)
-        {
-            var sig = this._cipher.Transform(signature);
-
-            //  TODO:   Ensure that only 1 or 2 types are supported
-            var position = 1;
-            while (position < sig.Length && sig[position] != 0)
-                position++;
-            position++;
-
-
-            var sig1 = new byte[sig.Length - position];
-
-            Array.Copy(sig, position, sig1, 0, sig1.Length);
-
-            var hashData = this._hash.ComputeHash(input);
-
-            var expected = DerEncode(hashData);
-
-            if (expected.Count != sig1.Length)
-                return false;
-
-            for (int i = 0; i < expected.Count; i++)
-            {
-                if (expected[i] != sig1[i])
-                    return false;
-            }
-
-            return true;
-        }
-
-        /// <summary>
-        /// Creates the signature.
-        /// </summary>
-        /// <param name="input">The input.</param>
-        /// <returns></returns>
-        public override byte[] CreateSignature(byte[] input)
-        {
-            //  Calculate hash value
-            var hashData = this._hash.ComputeHash(input);
-
-            //  Calculate DER string
-
-            //  Resolve algorithm identifier
-            var dd = DerEncode(hashData);
-
-            //  Calculate signature
-            var rsaInputBlockSize = new byte[255];
-            rsaInputBlockSize[0] = 0x01;
-            for (int i = 1; i < rsaInputBlockSize.Length - dd.Count - 1; i++)
-            {
-                rsaInputBlockSize[i] = 0xFF;
-            }
-
-            Array.Copy(dd.ToArray(), 0, rsaInputBlockSize, rsaInputBlockSize.Length - dd.Count, dd.Count);
-
-            var input1 = new BigInteger(rsaInputBlockSize.Reverse().ToArray());
-
-            return this._cipher.Transform(input1).ToByteArray().Reverse().TrimLeadingZero().ToArray();
-        }
-
-        private static List<byte> DerEncode(byte[] hashData)
-        {
-            //  TODO:   Replace with algorithm code
-            var algorithm = new byte[] { 6, 5, 43, 14, 3, 2, 26 };
-            var algorithmParams = new byte[] { 5, 0 };
-
-            var dd = new List<byte>(algorithm);
-            dd.AddRange(algorithmParams);
-            dd.Insert(0, (byte)dd.Count);
-            dd.Insert(0, 48);
-
-            dd.Add(4);
-            dd.Add((byte)hashData.Length);
-            dd.AddRange(hashData);
-
-            dd.Insert(0, (byte)dd.Count);
-            dd.Insert(0, 48);
-            return dd;
-        }
-    }
-}