示例#1
0
        private void BtnGonderServer_Click(object sender, EventArgs e)
        {
            if (comboBox1.SelectedIndex == 1)
            {
                if (!isSecretKey && !string.IsNullOrEmpty(txtMesajServer.Text))
                {
                    string publicKeyXML = String.Format(@"<RSAKeyValue>
                                                               <Modulus>{0}</Modulus>
                                                               <Exponent>{1}</Exponent>
                                                            </RSAKeyValue>",
                                                        ConfigurationSettings.AppSettings.Get("Modulus"),
                                                        ConfigurationSettings.AppSettings.Get("Exponent"));

                    string encryptSecretKey = Crypto2.EncryptSecretKey(txtMesajServer.Text, publicKeyXML);
                    LogWriter("Sifrelenecek Mesaj : " + txtMesajServer.Text);
                    LogWriter("Sifrelenmis Gizli Anahtar : " + encryptSecretKey);
                    clientWriter.WriteLine(encryptSecretKey);
                    clientWriter.Flush();
                    isSecretKey = true;
                }
                else
                {
                    Crypto1 crypto1      = new Crypto1();
                    byte[]  acikMetin    = File.ReadAllBytes(m_ImageFilePath);
                    byte[]  sifreliMetin = crypto1.EncryptToByteArray(acikMetin, simetricKey);

                    clientWriter.WriteLine(/*"UPLOAD_START_" +*/ Convert.ToBase64String(sifreliMetin) /*+ "_UPLOAD_END"*/);
                    clientWriter.Flush();

                    lstMesajlarServer.Items.Add("Dosya yolu : " + m_ImageFilePath + " gönderildi.");
                    LogWriter("Dosya yolu : " + m_ImageFilePath + " gönderildi.");
                }
            }
            else if (comboBox1.SelectedIndex == 2)
            {
                //Gizli anahtarın paylaşımını sağlar.
                if (!isSecretKey && !string.IsNullOrEmpty(txtMesajServer.Text))
                {
                    string publicKeyXML = String.Format(@"<RSAKeyValue>
                                                               <Modulus>{0}</Modulus>
                                                               <Exponent>{1}</Exponent>
                                                            </RSAKeyValue>",
                                                        ConfigurationSettings.AppSettings.Get("Modulus"),
                                                        ConfigurationSettings.AppSettings.Get("Exponent"));

                    string encryptSecretKey = Crypto2.EncryptSecretKey(txtMesajServer.Text, publicKeyXML);
                    LogWriter("Sifrelenecek Mesaj : " + txtMesajServer.Text);
                    LogWriter("Sifrelenmis Gizli Anahtar : " + encryptSecretKey);
                    clientWriter.WriteLine(encryptSecretKey);
                    clientWriter.Flush();
                    simetricKey = txtMesajServer.Text;
                    isSecretKey = true;
                }
                else
                {
                    Crypto2 crypto2   = new Crypto2();
                    string  encrypted = crypto2.EncryptKey(txtMesajServer.Text, simetricKey);
                    //GONDERILEN KISIM
                    string encryptedHash = encrypted;
                    encryptedHash += ComputeSha256Hash(encrypted);
                    clientWriter.WriteLine(encryptedHash);
                    clientWriter.Flush();
                    //SERVER'IN KENDI LISTBOX'INA EKLEME ISLEMI
                    lstMesajlarServer.Items.Add("Server: " + txtMesajServer.Text);
                    LogWriter("Server: " + txtMesajServer.Text);
                }
            }
            else if (comboBox1.SelectedIndex == 3)
            {
                Crypto3 crypto3   = new Crypto3();
                string  encrypted = crypto3.Encrypto(txtMesajServer.Text);
                //GONDERILEN KISIM
                clientWriter.WriteLine(encrypted);
                clientWriter.Flush();
                //SERVER'IN KENDI LISTBOX'INA EKLEME ISLEMI
                lstMesajlarServer.Items.Add("Server: " + txtMesajServer.Text);
                LogWriter("Server: " + txtMesajServer.Text);
            }
            else
            {
                clientWriter.WriteLine(txtMesajServer.Text);
                clientWriter.Flush();
                lstMesajlarServer.Items.Add("Server: " + txtMesajServer.Text);
                LogWriter("Server: " + txtMesajServer.Text);
            }
            //GONDERIM ISLEMINDEN SONRA TEXT BOLGESI TEMIZLENIR.
            txtMesajServer.Clear();
        }