public LicenseHelper() { asymmetricEncryptionProvider = new AsymmetricEncryptionProvider(); hashingProvider = new HashingProvider(); encodingService = new EncodingService(); objectSerializationProvider = new ObjectSerializationProvider(); symmetricEncryptionProvider = new SymmetricEncryptionProvider(); clientLicenseRepository = new ClientLicenseRepository(objectSerializationProvider, symmetricEncryptionProvider); clientLicenseService = new ClientLicenseService(clientLicenseRepository); serviceStatusProvider = new ServiceStatusProvider(symmetricEncryptionProvider, objectSerializationProvider, asymmetricEncryptionProvider); numberDataGenerator = new NumberDataGenerator(); packingService = new PackingService(numberDataGenerator); keygen = new KeyGenerator(symmetricEncryptionProvider, asymmetricEncryptionProvider, hashingProvider); licenseActiviationProvider = new LicenseActiviationProvider(asymmetricEncryptionProvider, symmetricEncryptionProvider, objectSerializationProvider); service = new LicenseKeyService(keygen, packingService, clientLicenseService); productsProvider = new ProductsProvider(symmetricEncryptionProvider, objectSerializationProvider, asymmetricEncryptionProvider); zipCompressionProvider = new ZipCompressionProvider(); wcfPackagingService = new WcfPackagingService(zipCompressionProvider); //licenseSetsRepository = new LicenseSetsRepository(); //licenseSetService = new LicenseSetService(); //licenseService = new LicenseService(); License = new License(); License.Name = "UnitTest License"; License.UniqueId = Guid.NewGuid(); License.KeyPair = asymmetricEncryptionProvider.GenerateKeyPair(BitStrengths.High); //string path = System.Reflection.Assembly.GetAssembly(typeof(LicenseHelper)).Location; string path = Helper.AssemblyDirectory; DllHash = encodingService.Encode(hashingProvider.HashFile(path + "\\WaveTech.Scutex.Licensing.dll")); PublicKey = encodingService.Encode(License.KeyPair.PublicKey); }
public bool AddProductToService(License license, List<LicenseSet> licenseSets, Service service) { ServiceProduct sp = new ServiceProduct(); sp.LicenseId = license.LicenseId; sp.LicenseName = license.Name; sp.LicenseSets = new List<ServiceLicenseSet>(); foreach (var ls in licenseSets) { ServiceLicenseSet set = new ServiceLicenseSet(); set.LicenseId = license.LicenseId; set.LicenseSetId = ls.LicenseSetId; set.LicenseSetName = ls.Name; set.LicenseType = ls.SupportedLicenseTypes; set.MaxUsers = ls.MaxUsers; sp.LicenseSets.Add(set); } string mgmtToken = _packingService.PackToken(service.GetManagementToken()); AddProductResult result = _productsProvider.AddProduct(service.ManagementUrl, mgmtToken, GetManagementStandardEncryptionInfo(service), service.GetManagementServiceKeyPair(), sp); if (IsResultValid(result)) return true; return false; }
public void BrokenTrialSetup() { License.Name = "UnitTest License"; Product p = new Product(); p.Name = "UnitTest Product"; p.Description = "Just a product for unit testing"; License.LicenseId = 1; License.Product = p; License.KeyGeneratorType = KeyGeneratorTypes.StaticSmall; LicenseTrialSettings ts = new LicenseTrialSettings(); ts.ExpirationOptions = TrialExpirationOptions.Days; ts.ExpirationData = "30"; License.TrialSettings = ts; LicenseSet ls = new LicenseSet(); ls.LicenseId = 1; ls.LicenseSetId = 1; ls.Name = "Unit Test License Set"; ls.MaxUsers = 5; ls.SupportedLicenseTypes = LicenseKeyTypeFlag.Enterprise; License.LicenseSets = new NotifyList <LicenseSet>(); License.LicenseSets.Add(ls); License lic = License; AsymmetricEncryptionProvider asymmetricEncryptionProvider = new AsymmetricEncryptionProvider(); lic.KeyPair = asymmetricEncryptionProvider.GenerateKeyPair(BitStrengths.High); ClientLicense lic2 = new ClientLicense(License); lic2.RunCount = 10; lic2.LastRun = DateTime.Now.AddMonths(-12); lic2.FirstRun = DateTime.Now.AddMonths(-24); CreateFile(lic2); }
public LicenseHelper() { asymmetricEncryptionProvider = new AsymmetricEncryptionProvider(); hashingProvider = new HashingProvider(); encodingService = new EncodingService(); objectSerializationProvider = new ObjectSerializationProvider(); symmetricEncryptionProvider = new SymmetricEncryptionProvider(); clientLicenseRepository = new ClientLicenseRepository(objectSerializationProvider, symmetricEncryptionProvider); clientLicenseService = new ClientLicenseService(clientLicenseRepository); serviceStatusProvider = new ServiceStatusProvider(symmetricEncryptionProvider, objectSerializationProvider, asymmetricEncryptionProvider); numberDataGenerator = new NumberDataGenerator(); packingService = new PackingService(numberDataGenerator); hardwareFingerprintService = new HardwareFingerprintService(new WmiDataProvider(), new HashingProvider()); keygen = new KeyGenerator(symmetricEncryptionProvider, asymmetricEncryptionProvider, hashingProvider); keyGeneratorLarge = new Scutex.Generators.StaticKeyGeneratorLarge.KeyGenerator(symmetricEncryptionProvider, asymmetricEncryptionProvider, hashingProvider, hardwareFingerprintService); licenseActiviationProvider = new LicenseActiviationProvider(asymmetricEncryptionProvider, symmetricEncryptionProvider, objectSerializationProvider); service = new LicenseKeyService(keygen, keyGeneratorLarge, packingService, clientLicenseService); productsProvider = new ProductsProvider(symmetricEncryptionProvider, objectSerializationProvider, asymmetricEncryptionProvider); zipCompressionProvider = new ZipCompressionProvider(); wcfPackagingService = new WcfPackagingService(zipCompressionProvider); //licenseSetsRepository = new LicenseSetsRepository(); //licenseSetService = new LicenseSetService(); //licenseService = new LicenseService(); License = new License(); License.Name = "UnitTest License"; License.UniqueId = Guid.NewGuid(); License.KeyPair = asymmetricEncryptionProvider.GenerateKeyPair(BitStrengths.High); //string path = System.Reflection.Assembly.GetAssembly(typeof(LicenseHelper)).Location; string path = Helper.AssemblyDirectory; DllHash = encodingService.Encode(hashingProvider.HashFile(path + "\\WaveTech.Scutex.Licensing.dll")); PublicKey = encodingService.Encode(License.KeyPair.PublicKey); }
private void btnUploadLicenseSets_Click(object sender, RoutedEventArgs e) { if (cboServices.SelectedValue != null) { if (gridLocalServices.SelectedItem != null) { if (DoesLicenseSetExistOnService() == false) { BackgroundWorker worker = new BackgroundWorker(); loadingAnimation.Visibility = Visibility.Visible; var productDisplayData = gridLocalServices.SelectedItem as UploadProductDisplayData; worker.DoWork += delegate(object s, DoWorkEventArgs args) { object[] data = args.Argument as object[]; IServicesService servicesService = ObjectLocator.GetInstance <IServicesService>(); ILicenseSetService licenseSetService = ObjectLocator.GetInstance <ILicenseSetService>(); ILicenseService licenseService = ObjectLocator.GetInstance <ILicenseService>(); //LicenseSet licenseSet = (LicenseSet) data[0]; License license = licenseService.GetLicenseById(((UploadProductDisplayData)data[0]).LicenseId); LicenseSet licenseSet = licenseSetService.GetLiceseSetById(((UploadProductDisplayData)data[0]).LicenseSetId); List <LicenseSet> sets = new List <LicenseSet>(); sets.Add(licenseSet); servicesService.AddProductToService(license, sets, data[1] as Service); Dictionary <License, List <LicenseSet> > _servicesData = servicesService.GetServiceLicenses((Service)data[1]); args.Result = _servicesData; }; worker.RunWorkerCompleted += delegate(object s, RunWorkerCompletedEventArgs args) { servicesData = (Dictionary <License, List <LicenseSet> >)args.Result; gridRemoteServices.ItemsSource = DataConverters.ConvertAllLicensesSetsToDisplay(servicesData); loadingAnimation.Visibility = Visibility.Collapsed; }; worker.RunWorkerAsync(new object[] { productDisplayData, cboServices.SelectedValue }); } else { MessageBox.Show("The License Set you selected already exists in the service"); } } else { MessageBox.Show("You must select a License/LicenseSet to upload"); } } else { MessageBox.Show("You must select a service to upload to."); } }
public static void SetNewLicense() { _license = new License(); _newLicense = true; }