Ejemplo n.º 1
0
        public static License KeyToLicenseUnsafe(IDecoder decoder, string key)
        {
            char   c;
            string text = LicenseConverter.ExtractKeyBody(key, out c);

            if (text == null)
            {
                return(null);
            }
            char c2 = c;

            if (c2 != 'C')
            {
                switch (c2)
                {
                case 'N':
                {
                    NewLicenseSerializer newLicenseSerializer = new NewLicenseSerializer();
                    return(newLicenseSerializer.Deserialize(text, decoder));
                }

                case 'P':
                {
                    PlainLicenseSerializer plainLicenseSerializer = new PlainLicenseSerializer();
                    return(plainLicenseSerializer.Deserialize(text));
                }
                }
                return(null);
            }
            OldLicenseSerializer oldLicenseSerializer = new OldLicenseSerializer();

            return(oldLicenseSerializer.Deserialize(text, decoder));
        }
Ejemplo n.º 2
0
        public static string LicenseToKey(IEncoder encoder, License license)
        {
            NewLicenseSerializer newLicenseSerializer = new NewLicenseSerializer();
            string arg = newLicenseSerializer.Serialize(license, encoder);

            return('N' + arg);
        }
Ejemplo n.º 3
0
 public string Serialize(License license, IEncoder encoder)
 {
     byte[] data;
     using (MemoryStream memoryStream = new MemoryStream())
     {
         NewLicenseSerializer.WriteLicenseToStream(license, memoryStream);
         data = memoryStream.ToArray();
     }
     byte[] data2 = encoder.Encode(data);
     return(Base32Encoder.Encode(data2));
 }
Ejemplo n.º 4
0
        public License Deserialize(string key, IDecoder decoder)
        {
            byte[]  data   = Base32Decoder.Decode(key);
            byte[]  buffer = decoder.Decode(data);
            License result;

            using (MemoryStream memoryStream = new MemoryStream(buffer))
            {
                License license = NewLicenseSerializer.ReadLicenseFromStream(memoryStream);
                result = license;
            }
            return(result);
        }
Ejemplo n.º 5
0
        private static void WriteLicenseToStream(License license, Stream stream)
        {
            BinaryWriter binaryWriter = new BinaryWriter(stream, Encoding.UTF8);

            binaryWriter.Write(license.Version);
            binaryWriter.Write((byte)license.Type);
            binaryWriter.Write((byte)license.Binding);
            binaryWriter.Write(license.Capacity);
            NewLicenseSerializer.WriteBytePrefixedString(binaryWriter, license.LicensedTo);
            NewLicenseSerializer.WriteDateTime(binaryWriter, license.StartTime);
            NewLicenseSerializer.WriteDateTime(binaryWriter, license.EndTime);
            NewLicenseSerializer.WriteBytePrefixedString(binaryWriter, license.LicenseId.ToString());
            NewLicenseSerializer.WriteBytePrefixedString(binaryWriter, license.PurchaseId);
            NewLicenseSerializer.WriteDateTime(binaryWriter, license.PurchaseDate);
        }
Ejemplo n.º 6
0
        private static License ReadLicenseFromStream(Stream stream)
        {
            BinaryReader binaryReader = new BinaryReader(stream, Encoding.UTF8);

            return(new License
            {
                Version = binaryReader.ReadByte(),
                Type = (LicenseType)binaryReader.ReadByte(),
                Binding = (LicenseBinding)binaryReader.ReadByte(),
                Capacity = binaryReader.ReadInt32(),
                LicensedTo = NewLicenseSerializer.ReadBytePrefixedString(binaryReader),
                StartTime = NewLicenseSerializer.ReadDateTime(binaryReader),
                EndTime = NewLicenseSerializer.ReadDateTime(binaryReader),
                LicenseId = new Guid(NewLicenseSerializer.ReadBytePrefixedString(binaryReader)),
                PurchaseId = NewLicenseSerializer.ReadBytePrefixedString(binaryReader),
                PurchaseDate = NewLicenseSerializer.ReadDateTime(binaryReader)
            });
        }