Exemplo n.º 1
0
        static void Main(string[] args)
        {
            /*
             * 1. Сгенерировать ключи
             * 2. Скопировать private.key в качестве значения переменной privateKey
             *  Сгенерировать файл лицензии
             */
            string mode = "1";

            if (mode == "1")
            {
                Console.WriteLine("Key generation");
                RsaUtils rsa        = new RsaUtils();
                var      privateKey = rsa.GetKeyInformation(true);
                var      publicKey  = rsa.GetKeyInformation(false);

                System.IO.File.WriteAllText("private.key", privateKey);
                System.IO.File.WriteAllText("public.key", publicKey);
            }
            else if (mode == "2")
            {
                Console.WriteLine("License generation");
                var validTo    = DateTime.Today.AddDays(15);
                var privateKey = @"<RSAKeyValue><Modulus>6cDwthHizyN2oy7GVLDJj8BULOyZcNmhT8DUOtnolKl1JXyboMTtYSj8RTItDYuA9erFmjHxfXs77gjx4AZovb5tn/Vuv2WZqtRfGnmFS/BaioHR7rLeHpEQ5Fy/bSZZVCiK0qCJ1fACkb5myKxktHF33t884OgYeIafu8C/+JE=</Modulus><Exponent>AQAB</Exponent><P>9YjXPha1uIGAquhNNfO28+5HPpYoJ25unTsJDy8RB0e6B4shWSrQWoFHGfMvwKVud3bIGhak4M1BDp2oYN/zdw==</P><Q>87eNW6WEmHcZs0ZoVk7UPFBzMbz7PFkRkBFveTEGILDDxPm95JDZoe2xJH7BQCNmDouik81JMWL8pXjQqzkmNw==</Q><DP>5n/0MOF47yED/W3fLgsBcbX7RBIK2Bmf1hMZyhtRTRhU18gRInhC6PP8H6xg4+Vp8tSbvYIMfs2xiVsQOwGCuQ==</DP><DQ>wcYf+00Htt2DLpn9XRoB/w6L+HDkZGAA6cYjFn2W/Kjujo9unutYTjoZTQYHCsLaYxg8pD1lQ4ILlFkRuAGRUw==</DQ><InverseQ>lpU5H7FE5Dq38qXBK3YemSFHs9c56RHJpA+IPWk+vZwJ90RU1y2AcdW+XCYRIoK+gJx6CneSOjaHuwrXHH7r5A==</InverseQ><D>lxdAP99VxF/+2kFsrudKkaFWh2czUw9Ixl00kQmy3QyfjOh7S7KeYTP1w+BH4L5wUAQ9T4rCtkIGnbioZw6defOz9e8yd/S6mwJaC5KUmDRUhewZEd8AFscT+kLekJ4JB+WZbxVJgH1DxW9A2nqxGU5/r+gJv4TmQ8c8M6LDTcU=</D></RSAKeyValue>";

                RsaUtils rsa = new RsaUtils();
                rsa.SetKeys(privateKey);

                var validToStr = validTo.ToString("yyyyMMdd");
                var sign       = rsa.SignData(validToStr);

                System.IO.File.WriteAllText("license.lic", $"{validToStr}{sign}");
            }
        }
Exemplo n.º 2
0
        public void TestSignAndCheckWithPublicKey()
        {
            var message = DateTime.Now.ToString();
            //"string to be encrypted";

            var _rsau       = new RsaUtils();
            var signMessage = _rsau.SignData(message);

            Assert.IsNotNull(signMessage);
            Assert.IsTrue(signMessage.Length > 0);

            var _rsau2 = new RsaUtils();

            _rsau2.SetKeys(_rsau.GetKeyInformation(false));
            var verifyData = _rsau2.CheckSign(message, signMessage);

            Assert.IsTrue(verifyData);
        }
Exemplo n.º 3
0
        public void TestSetPublicKey()
        {
            var _rsau    = new RsaUtils();
            var origKeys = _rsau.GetKeyInformation(false);

            var _rsau2    = new RsaUtils();
            var origKeys2 = _rsau2.GetKeyInformation(false);

            Assert.IsNotNull(origKeys);
            Assert.IsNotNull(origKeys2);
            Assert.IsFalse(origKeys.Equals(origKeys2));

            _rsau2.SetKeys(origKeys);
            var origKeys2_2 = _rsau2.GetKeyInformation(false);

            Assert.IsNotNull(origKeys2_2);
            Assert.IsFalse(origKeys2.Equals(origKeys2_2));
            Assert.IsTrue(origKeys.Equals(origKeys2_2));
        }
Exemplo n.º 4
0
        public void CreateTestLicenseFile()
        {
            var rsau = new RsaUtils();

            rsau.SetKeys(@"<RSAKeyValue><Modulus>2OO32RsAa73GjFw171YUkwOTyguKeT3N1zjAZY04/f4TdpRABfNBs1aHICepzhQ1gy1TBnYX3K95b+qD7u6CczU65JzormbqlgY1rweG+HNwGcn36g0M66k7qwfFSjZhbmlGTvedD7xo4L/pSf91p7KwjzLt6ac8+UAdqVfKsu0=</Modulus><Exponent>AQAB</Exponent><P>5P3vNrTqC9JeXmyJSQrfmQN3tYdr5Kc7OoRb0HqK11tc1grGZ1rDmSTQ6OFtqpzCiJyz2oH1BHA16WC2UbVftw==</P><Q>8nherC7UVWiuG8suixZtYL5CTK/CJVpf4GVrRZOb2slbL0sojgq7QQG5sZfQ4PIFHhfzgVM4uTkHNaFJUTv6ew==</Q><DP>zTNg8b0dHordVfAc9f9wb0XUOC+qV7QkN0P0otWtJV8RyhzNvkBvlwSO0KFyDLl8+b6yzNQ4JEoJhaDMwFuv8Q==</DP><DQ>rhlR2Q4y9jSYt2o3vDTZSpqyHkAhBhMTPptz39xyDzF/YMD1mLAJ7k5f2C2rFKmSlR4bgSORWiWhkJeDfmmzmw==</DQ><InverseQ>NLinNiXw75D8kOGhz2Z9hJR6tU0t1fuh9xVwAQSZomMFqTYEaGwekFIWA/7olAqR5b/oigGndS8F5L1tVDWqrg==</InverseQ><D>AmH+ExSI3KYpGEGrFgYME9FmPkICM3LKYCLvei4jAidYb2URjv8tKZs5wNCuvOTb8aT91IRXnsUOwHwDFwznwfcVwdIpW7m0Q/6Vu7GE3G1pzQOUynv+E9R8cdSl/m3lfNt8OJHNqnnR4MBoirerQargCZwDWY0nYlm6xBKIkME=</D></RSAKeyValue>");

            var dt1 = (new DateTime(2022, 01, 01)).ToString("yyyyMMdd");
            var dt2 = (new DateTime(2021, 02, 10)).ToString("yyyyMMdd");

            var dt1Sign = rsau.SignData(dt1);
            var dt2Sigh = rsau.SignData(dt2);

            Console.WriteLine($"1: {dt1}:{dt1Sign}");
            Console.WriteLine($"2: {dt2}:{dt2Sigh}");

            var rsau2 = new RsaUtils();

            rsau2.SetKeys(@"<RSAKeyValue><Modulus>2OO32RsAa73GjFw171YUkwOTyguKeT3N1zjAZY04/f4TdpRABfNBs1aHICepzhQ1gy1TBnYX3K95b+qD7u6CczU65JzormbqlgY1rweG+HNwGcn36g0M66k7qwfFSjZhbmlGTvedD7xo4L/pSf91p7KwjzLt6ac8+UAdqVfKsu0=</Modulus><Exponent>AQAB</Exponent></RSAKeyValue>");

            Assert.IsTrue(rsau2.CheckSign(dt1, dt1Sign));
            Assert.IsTrue(rsau2.CheckSign(dt2, dt2Sigh));
        }