示例#1
0
        internal void SaveCredencials(string user, string password, bool rememberMe)
        {
            RegistryKey key = GetCredentialRoute();

            CryptographyManager objQueryTalkCryptography = new CryptographyManager();

            //string decryptedsimkey = objQueryTalkCryptography.DecryptAsim(CryptoContext.CryptedSimKey, CryptoContext.RSAPrivateKey);

            key.SetValue(GlobalResources.Key1, objQueryTalkCryptography.EncryptSim(user, CryptoContext.ComunicationKey), RegistryValueKind.String);
            key.SetValue(GlobalResources.Key2, objQueryTalkCryptography.EncryptSim(password, CryptoContext.ComunicationKey), RegistryValueKind.String);
            key.SetValue(GlobalResources.Key3, objQueryTalkCryptography.EncryptSim(rememberMe.ToString(), CryptoContext.ComunicationKey), RegistryValueKind.String);
        }
        internal static string CreateXmlMessage(Message message, string simKey)
        {
            string xmlContent = "";

            CryptographyManager objQueryTalkCryptography = new CryptographyManager();

            XmlWriterSettings settings = new XmlWriterSettings();

            settings.OmitXmlDeclaration = true;

            StringWriter writer = new StringWriter();

            using (XmlWriter xmlWriter = XmlWriter.Create(writer, settings))
            {
                xmlWriter.WriteStartElement("message");

                //Guid
                xmlWriter.WriteStartElement("block0");
                //GuidText
                xmlWriter.WriteElementString("block0value1", message.CommunicationID);
                xmlWriter.WriteEndElement();

                //Command
                xmlWriter.WriteStartElement("block1");
                //CommandText
                xmlWriter.WriteElementString("block1value1", objQueryTalkCryptography.EncryptSim(message.Command, simKey));
                xmlWriter.WriteEndElement();

                if (message.Command != Commands.VIEWLICENSE)
                {
                    //CK
                    xmlWriter.WriteStartElement("block2");
                    //CKText
                    xmlWriter.WriteElementString("block2value1", objQueryTalkCryptography.EncryptSim(message.CK, simKey));
                    xmlWriter.WriteEndElement();
                }

                //Credentials
                xmlWriter.WriteStartElement("block3");
                //User
                xmlWriter.WriteElementString("block3value1", objQueryTalkCryptography.EncryptSim(message.User, simKey));
                //Password
                xmlWriter.WriteElementString("block3value2", objQueryTalkCryptography.EncryptSim(message.Password, simKey));
                xmlWriter.WriteEndElement();

                //Información necesaria solo para los servicios de licenciamiento
                if (message.Command == Commands.AUTHENTICATE ||
                    message.Command == Commands.AUTHENTICATE_ANONYMOUS ||
                    message.Command == Commands.REMOVE ||
                    message.Command == Commands.REGISTEREMAIL)
                {
                    //ComputerInfo
                    xmlWriter.WriteStartElement("block4");
                    //MK
                    xmlWriter.WriteElementString("block4value1", objQueryTalkCryptography.EncryptSim(message.MK, simKey));
                    //ComputerName
                    xmlWriter.WriteElementString("block4value2", objQueryTalkCryptography.EncryptSim(message.ComputerName, simKey));
                    //Manufacturer
                    xmlWriter.WriteElementString("block4value3", objQueryTalkCryptography.EncryptSim(message.Manufacturer, simKey));
                    //Model
                    xmlWriter.WriteElementString("block4value4", objQueryTalkCryptography.EncryptSim(message.Model, simKey));
                    //Processor
                    xmlWriter.WriteElementString("block4value5", objQueryTalkCryptography.EncryptSim(message.Processor, simKey));
                    xmlWriter.WriteEndElement();
                }

                //Información usada para los responses desde el servidor
                if (message is ResponseMessage)
                {
                    //Response
                    xmlWriter.WriteStartElement("block5");
                    //CommandText
                    xmlWriter.WriteElementString("block5value1", objQueryTalkCryptography.EncryptSim((message as ResponseMessage).Response, simKey));
                    xmlWriter.WriteEndElement();

                    xmlWriter.WriteEndDocument();
                }

                if (message.Command == Commands.REGISTEREMAIL)
                {
                    //CK
                    xmlWriter.WriteStartElement("block6");
                    //CKText
                    xmlWriter.WriteElementString("block6value1", objQueryTalkCryptography.EncryptSim(message.Email, simKey));
                    xmlWriter.WriteEndElement();
                }

                writer.Flush();
            }

            xmlContent = writer.ToString();
            return(xmlContent);
        }