Exemplo n.º 1
0
        public void TestVerifier_Full()
        {
            var expireDate = DateTime.Parse("2100-01-01", CultureInfo.InvariantCulture);
            var license    = Lic.Builder
                             .WithRsaPrivateKey(LicTest.PrivateKey)
                             .WithHardwareIdentifier(HardwareIdentifier.ForCurrentComputer())
                             .WithSerialNumber(SerialNumber.Create("ABC"))
                             .ExpiresOn(expireDate)
                             .WithProperty("Prop1", "Value1")
                             .WithProperty("Prop2", "Value2")
                             .SignAndCreate();

            var verifiedLicense = Lic.Verifier
                                  .WithRsaPublicKey(LicTest.PublicKey)
                                  .WithApplicationCode("ABC")
                                  .LoadAndVerify(license.Serialize());

            Assert.AreEqual(license.Serialize(), verifiedLicense.Serialize());

            verifiedLicense = Lic.Verifier
                              .WithRsaPublicKey(LicTest.PublicKey)
                              .WithApplicationCode("ABC")
                              .LoadAndVerify(license.SerializeAsPlainText());

            Assert.AreEqual(license.Serialize(), verifiedLicense.Serialize());
        }
Exemplo n.º 2
0
        public void Test_VerifyCheckSum()
        {
            var serialNumber = SerialNumber.Create("ABC");

            Assert.IsTrue(SerialNumber.IsCheckSumValid(serialNumber));
            var modified = "D" + new string(serialNumber.Skip(1).ToArray());

            Assert.IsFalse(SerialNumber.IsCheckSumValid(modified));
            Assert.IsFalse(SerialNumber.IsCheckSumValid(modified + "A"));
            TestHelper.AssertException <ArgumentNullException>(() => SerialNumber.IsCheckSumValid(null));
            Assert.IsFalse(SerialNumber.IsCheckSumValid(""));
            Assert.IsFalse(SerialNumber.IsCheckSumValid("ABCDER"));
        }
        public void TestHasXXXProperties_True()
        {
            var key = "BwIAAACkAABSU0EyAAQAAAEAAQALrzxPFiBp4EN5aeLtZZ4sTvcfYn+fSpmxJvhSUxP/9fm+uaWwJ+n7+jc4Zf2tB+WDulTJo5ryauHgKjx5MHMmWNLr77mD3ws11BC61VDt65fIY4DLsvn49ZYajJy3oUwDvyEsnGArUH3IUhCTv/OWbHovmb69Xlg90mEcsIhOm2WKki+1cc7ZeBANtR57SMLv3qDH+DQqTxBb4UOHmJs4YfrMjqOEXBg0pDLT4HHzIz7WVu9ltKJdQZn626aGdMivhKQqxiJj3YsdFiLgM4BZk9ZGCxI2AJLp9Q/IRwqGKg4T0NlNWbqH1P5Zvq2nxVxSQEI/ARpUK1C8CIsnXVfGyRNp5nkFlM05O2HXhwLWhoHn5Dm76FMz5mClkFaRe8pK113sZK0Tw6sEVCrFMXeaiXSGK9xZifvnioOq9jRgp1fCpc5vLSE4VFGZ2vl89hrsfPKAIDIx5vXgNfOGjJXoDfHUkurih1qBG5Aiie5bD8e+LPVQ7jkM9CzFHRC756n1yAwSLUiv2cpbXD/YhZuHOOIljWjgcHKV9b9eyQXUilC8CQOE/1JLUHWLskhRH6NKRo1HVPxsuZpKLfkWEqti6TF8A4gllaJdjJEqq226EaXaRvP2RoqxjRBUKeT/NBN4focrEmjQpMKTAhMmpIutsXEqLbcXbR+0gBbvdIoEcEBbgizGJK8NJtWnli6qh4EEuaqtBYXkP0Io/bZJsc+WuWpHn9lXWIy/cPDTik+uEgbPF5MZEcmLVKJEsdnpcEc=";

            var lic = Lic.Builder
                      .WithRsaPrivateKey(key)
                      .WithHardwareIdentifier("HardwareIdentifier")
                      .WithSerialNumber(SerialNumber.Create("GSA"))
                      .ExpiresIn(TimeSpan.FromDays(100))
                      .WithProperty("Name", "Bill Gates")
                      .WithProperty("Company", "Microsoft")
                      .SignAndCreate();

            Assert.IsTrue(lic.HasExpirationDate);
            Assert.IsTrue(lic.HasHardwareIdentifier);
            Assert.IsTrue(lic.HasSerialNumber);
        }
Exemplo n.º 4
0
        public void TestBuild()
        {
            var serialNumber = SerialNumber.Create("ABC");

            Assert.AreEqual(25, serialNumber.Length);

            var splitted = serialNumber.Split('-');

            Assert.AreEqual(5, splitted.Length);
            Assert.AreEqual("SNABC", splitted[0]);
            Assert.AreEqual(4, splitted[1].Length);
            Assert.AreEqual(4, splitted[2].Length);
            Assert.AreEqual(4, splitted[3].Length);
            Assert.AreEqual(4, splitted[4].Length);
            for (int i = 1; i < splitted.Length; i++)
            {
                Assert.IsTrue(ValidNumbersRegex.IsMatch(splitted[i]), $"Splitted part '{splitted[i]}' is not valid.");
            }
        }
Exemplo n.º 5
0
 public void TestCreate_DEFE() => SerialNumber.Create("DEFE");
Exemplo n.º 6
0
 public void TestCreate_DE2() => SerialNumber.Create("DE2");
Exemplo n.º 7
0
 public void TestCreate_Null() => SerialNumber.Create(null);