public static Boolean CheckLicense() { _signature = SignatureHandler.GetSignature(); const string fileName = @"License\license.lic"; try { // Create the reader for data. var fs = new FileStream(fileName, FileMode.Open, FileAccess.Read); var r = new BinaryReader(fs); // Read data from Test.data. SignatureStored = r.ReadString(); LicenseOwnerName = r.ReadString(); LicenseCreationTime = r.ReadString(); _personalSignatureStored = r.ReadString(); r.Close(); fs.Close(); } catch (Exception) { Logger.Log("License file does not exist"); MessageBox.Show("License file does not exist", "License "); return false; } _blowFishEncryptor = new BlowFish(HexKey.PersonalSignatureValue); _personalSignatureStored = _blowFishEncryptor.Decrypt_CTR(_personalSignatureStored); _blowFishEncryptor = new BlowFish(HexKey.SignatureValue); if (Equals(LicenseOwnerName + LicenseCreationTime, _blowFishEncryptor.Decrypt_CTR(_personalSignatureStored))) { if (Equals(_signature, _blowFishEncryptor.Decrypt_CTR(SignatureStored))) { Logger.Log("License verified. License owner: " + LicenseOwnerName + ", date: " + LicenseCreationTime); return true; } } Logger.Log("License is not valid"); MessageBox.Show("License is not valid", "License "); return false; }
private void SaveConfiguration(object sender, RoutedEventArgs e) { var dlg = new SaveFileDialog { FileName = "configuration", DefaultExt = ".ttac", Filter = "ttAgent Configuration (.ttac)|*.ttac" }; var result = dlg.ShowDialog(); if (result == true) { Logger.Log("Saveing configuration to file: " + dlg.FileName); var projectData = RegistryContext.Registry.SaveConfiguration(); IFormatter formatter = new BinaryFormatter(); var memoryStream = new MemoryStream(); formatter.Serialize(memoryStream, projectData); var serializationString = new BlowFish(HexKey.ConfigurationSignatureValue).Encrypt_CTR(Convert.ToBase64String(memoryStream.ToArray())); Stream stream = new FileStream(dlg.FileName, FileMode.Create, FileAccess.Write, FileShare.None); formatter.Serialize(stream, serializationString); stream.Close(); } Logger.Log("Configuration saved"); }
private void LoadConfiguration(object sender, RoutedEventArgs e) { var dlg = new OpenFileDialog { DefaultExt = ".ttac", Filter = "ttAgent Configuration (.ttac)|*.ttac" }; var result = dlg.ShowDialog(); if (result == true) { Logger.Log("Loading configuration from file: " + dlg.FileName); IFormatter formatter = new BinaryFormatter(); Stream stream = new FileStream(dlg.FileName, FileMode.Open, FileAccess.Read, FileShare.Read); var serializationString = (string)formatter.Deserialize(stream); stream.Close(); serializationString = new BlowFish(HexKey.ConfigurationSignatureValue).Decrypt_CTR(serializationString); // convert string to stream var byteArray = Convert.FromBase64String(serializationString); //byte[] byteArray = Encoding.ASCII.GetBytes(contents); var memoryStream = new MemoryStream(byteArray); var projectData = (ProjectFileStruture.ProjectSavedData)new BinaryFormatter().Deserialize(memoryStream); RegistryContext.Registry.LoadConfiguration(projectData); } Logger.Log("Configuration loaded"); }