示例#1
0
 public void SignUpScreen()
 {
     SignUpObject.SetActive(true);
     LoginObject.SetActive(false);
     //ScanUI.SetActive(false);
     SignUpErrorText.text = "";
 }
示例#2
0
 public void LogINScreen()
 {
     LoginObject.SetActive(true);
     SignUpObject.SetActive(false);
     ScanUI.SetActive(false);
     SignInErrorText.text = "";
 }
示例#3
0
 public void LogINScreen()
 {
     WelcomeScreenObject.SetActive(false);
     LoginObject.SetActive(true);
     SignUpObject.SetActive(false);
     //ScanUI.SetActive(false);
 }
示例#4
0
    public void LogINScreen()
    {
        LoginObject.SetActive(true);
        SignUpObject.SetActive(false);
        //ScanUI.SetActive(false);
        SignInErrorText.text = "";

        NoInternetLogin.SetActive(false);
        NoInternetSignUp.SetActive(false);
        //NoInternetScan.SetActive(false);

        InternetFoundLogin.SetActive(false);
        InternetFoundSignUp.SetActive(false);
        //InternetFoundScan.SetActive(false);
    }
        private void SignUp()
        {
            var toValidate = new SignUpObject()
            {
                FirstName = FirstName, LastName = LastName, PhoneNumber = PhoneNumber, Email = Email, Password = Password, AcceptTerms = IsTermsAccepted
            };
            SignUpValidator  validator = new SignUpValidator();
            ValidationResult results   = validator.Validate(toValidate);

            if (results.IsValid)
            {
                //call api to sign up

                //then go to menu page
                ShowViewModel <MenuViewModel>();
            }
            else
            {
                Mvx.Resolve <IMvxMessenger>().Publish(new ToastMessage(this, results.Errors[0].ToString().Trim()));
            }
        }
        private void signUpSubmitButton_Click(object sender, RoutedEventArgs e)
        {
            SignUpObject signUpObject = new SignUpObject(signUpNameTextBox.Text, signUpUsernameTextBox.Text, signUpPasswordTextBox.Password);
            bool         signUpResult = RequestsManager.SignUp(clientObject.stream, signUpObject.toJsonObject());

            if (signUpResult)
            {
                TransactionsTab.Visibility    = Visibility.Visible;
                checkAll.Visibility           = Visibility.Visible;
                loginButton.Content           = "SignOut";
                loginUsernameTextBox.Text     = "";
                loginPasswordTextBox.Password = "";

                signUpNameTextBox.Text         = "";
                signUpPasswordTextBox.Password = "";
                signUpUsernameTextBox.Text     = "";
            }
            else
            {
                TransactionsTab.Visibility = Visibility.Hidden;
                checkAll.Visibility        = Visibility.Hidden;
            }
        }
        private static void signUp(AdvanceStream stream, MainWindow mainWindow)
        {
            string             digCer = stream.ReadString();
            DigitalCertificate dc     = DigitalCertificate.newClientObject(digCer);

            MainWindow.instance.Log("Get client certificate.....");
            string publicKey = "";

            MainWindow.instance.Log("connect to CA.....");


            MainWindow.clientForCertificate.connect((e) =>
            {
                e.Write("2");
            });

            publicKey = getCApublicKey(MainWindow.clientForCertificate.stream);



            KeysManager.RSAPcublicKeyOfCA = publicKey;
            MainWindow.instance.Log("CA public key", publicKey);

            if (dc.verviy())
            {
                stream.Write("1");
                byte[] encrSingUpdata   = stream.ReadBytes();
                RSA    rsa              = new RSA("Server");
                byte[] decrypSingUpData = rsa.decrypt(encrSingUpdata, KeysManager.RSAPrivateKey);

                MainWindow.instance.Log("Encrypted SignUp Data", Encoding.UTF8.GetString(encrSingUpdata));
                MainWindow.instance.Log("Decrypted SignUp Data", Encoding.UTF8.GetString(decrypSingUpData));

                SignUpObject signUpObject = SignUpObject.newLoginObject(Encoding.UTF8.GetString(decrypSingUpData));
                var          user         = DBContext.getInstace().Clients.SingleOrDefault(item => item.Username == signUpObject.username);
                if (user != null)
                {
                    if (user.Username.Equals(signUpObject.username))
                    {
                        stream.Write("0");
                        MainWindow.instance.Log("Error username already taken ", signUpObject.username);
                    }
                    else
                    {
                        stream.Write("1");
                        MainWindow.instance.Log("Error password already taken");
                    }
                }
                else
                {
                    DBContext.getInstace().Clients.Add(new Models.Client(signUpObject.name, signUpObject.username, signUpObject.password));
                    DBContext.getInstace().SaveChanges();
                    stream.Write("2");
                    user = DBContext.getInstace().Clients.SingleOrDefault(item => item.Username == signUpObject.username);
                    stream.Write(user.toJsonObject() + '\t' + "");
                    byte[] encryptKey = rsa.encrypte(KeysManager.AESkey, dc.SubjectPublicKey);
                    stream.Write(encryptKey);
                    MainWindow.instance.Log("Sign Up Successfully", user.Name);
                }
            }
            else
            {
                stream.Write("0");
            }

            MainWindow.instance.Log();
        }
示例#8
0
 public void ScanUIScreen()
 {
     ScanUI.SetActive(true);
     SignUpObject.SetActive(false);
     LoginObject.SetActive(false);
 }
        public static bool SignUp(AdvanceStream stream, string signUpData)
        {
            bool         result       = false;
            bool         signUpResult = false;
            SignUpObject signUp       = SignUpObject.newLoginObject(signUpData);

            MainWindow.clientForCertificate.connectUntilSuss((e) =>
            {
                RequestsManager.connectToCA(e);
            });
            RSA rsa = new RSA(signUp.name);

            KeyManager.generateRSAPublicKey(rsa.rsaSP);
            KeyManager.generateRSAPrivateKey(rsa.rsaSP);
            Models.DigitalCertificate dc = new Models.DigitalCertificate();
            result = getCertificate(MainWindow.clientForCertificate.stream, signUp.name, KeyManager.RSAPublicKey, out dc);

            stream.Write("5");
            if (result)

            {
                stream.Write(dc.toJsonObject());
                string checkResult = stream.ReadString();
                if (checkResult == "1")
                {
                    MainWindow.instance.Log("Certificate has been checked\nreciving Server Public Key");
                    byte[] signUpByte             = Encoding.UTF8.GetBytes(signUpData);
                    byte[] EncreptedLoginDataByte = rsa.encrypte(signUpByte, KeyManager.serverRSAPublicKey);

                    MainWindow.instance.Log("Sign Up Data", signUpData);
                    MainWindow.instance.Log("Encrypted Sign Up Data", Encoding.UTF8.GetString(EncreptedLoginDataByte));

                    stream.Write(EncreptedLoginDataByte);
                    string response = stream.ReadString();
                    if (response.Equals("0"))
                    {
                        //no user
                        MainWindow.instance.Log("User name is taken");
                        signUpResult = false;
                    }
                    else if (response.Equals("1"))
                    {
                        //wrong password
                        MainWindow.instance.Log("Password is takten");
                        signUpResult = false;
                    }
                    else
                    {
                        //ok
                        response = stream.ReadString();
                        string[] words = response.Split('\t');
                        MainWindow.user = Server.Models.Client.newClientObject(words[0]);
                        MainWindow.instance.Log(words[0]);
                        byte[] inStream  = stream.ReadBytes();
                        byte[] decrypKey = rsa.decrypt(inStream, KeyManager.RSAPrivateKey);
                        MainWindow.instance.Log("Encrypted AES Key", Convert.ToBase64String(inStream, 0, inStream.Length));
                        KeyManager.serverAESPublicKey = Convert.ToBase64String(decrypKey, 0, decrypKey.Length);
                        MainWindow.instance.Log("AES Key", KeyManager.serverAESPublicKey);
                        signUpResult = true;
                    }
                }
                else
                {
                    MessageBox.Show("Not a vailed certificate");
                }
                MainWindow.instance.Log();
            }
            else
            {
                MessageBox.Show("Can't get a certificate");
            }
            return(signUpResult);
        }