// Methods // //////////////////////////////////////////////////////////////////// // - Load internal static SignedLicense Deserialize(string content) { if (string.IsNullOrEmpty(content)) { throw new ArgumentException($"'{nameof(content)}' must not null or empty."); } var firstLine = content.Split(new[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries).First(); var isEncrypted = !Licensing.HardwareIdentifier.IsCheckSumValid(firstLine); if (isEncrypted) { content = content.Unwrap(); content = SignedLicenseEncryption.Dencrypt(content); } var lines = (content ?? "").Split(new[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries); if (lines.Length < 4) { ThrowInvalidFormatException(); } return(ReadLicenseFile(lines)); }
/// <summary> /// Serializes the license as encrypted base64 encoded text. /// </summary> /// <returns></returns> public string Serialize() { return(SignedLicenseEncryption.Encrypt(SerializeAsPlainText())); }