private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) { comboBox2.Items.Clear(); try { //imzalama if (comboBox1.SelectedIndex == 0) { SignatureClass signatur = new SignatureClass(); signatur.generatesignature(privatekey1); MessageBox.Show("Dosya imzalandı"); comboBox2.Items.Add("İmzayı Doğrula"); } //şifreleme else if (comboBox1.SelectedIndex == 1) { AESClass aesclass = new AESClass(); Tuple <byte[], byte[], byte[]> tuple = aesclass.EncryptAesManaged(FileReadWrite.fileData); encrypt = tuple.Item1; //şifrelenen dosyam aeskey = tuple.Item2; aesıv = tuple.Item3; RSAClass rsa = new RSAClass(); aeskey = rsa.Encryption(aeskey, publickeyString); //keyimi karşı tarafa RSA ile şifreleyerek gönderiyorum FileReadWrite frw = new FileReadWrite(); frw.ByteYaz(tuple.Item1); MessageBox.Show("Dosya şifrelendi"); comboBox2.Items.Add("Şifrelenen Dosyayı Çöz"); } //imzalama ve şifreleme else if (comboBox1.SelectedIndex == 2) { SignatureClass signatur = new SignatureClass(); //imzalıyorum signatur.generatesignature(privatekey1); AESClass aesclass = new AESClass(); Tuple <byte[], byte[], byte[]> tuple = aesclass.EncryptAesManaged(FileReadWrite.fileData); encrypt = tuple.Item1; aeskey = tuple.Item2; aesıv = tuple.Item3; RSAClass rsa = new RSAClass(); // aes ile şifreliyorum aeskey = rsa.Encryption(aeskey, publickeyString); //keyimi RSA ile şifreleyerek gönderiyorum FileReadWrite frw = new FileReadWrite(); frw.ByteYaz(tuple.Item1); MessageBox.Show("Dosya imzalandı ve şifrelendi"); comboBox2.Items.Add("İmzayı Doğrula ve Şifreyi Çöz"); } button2.Visible = true; comboBox2.Visible = true; label2.Visible = true; } catch (Exception ex) { MessageBox.Show(ex.Message); } }
private void comboBox2_SelectedIndexChanged(object sender, EventArgs e) { if (dosyaadi == null) { MessageBox.Show("Dosya seçiniz"); } else { try { comboBox2.Enabled = true; //imzamı doğruluyorum if (comboBox1.SelectedIndex == 0) { SignatureClass sigval = new SignatureClass(); string signature = sigval.generatesignature(privatekey1); if (sigval.validate(signature, publickey1)) //eğer true dönerse yani imzalar eşit ise doğrulama mesajı gönderiyorum { MessageBox.Show("imza doğrulandı"); } else //eğer imzalar eşit değilse(false döndüğünde) { MessageBox.Show("imzalar eşleşmedi"); } } //dosyamın şifresini çözüyorum else if (comboBox1.SelectedIndex == 1) { RSAClass rsa = new RSAClass(); //RSA ile şifrelenen keyimi asimetrik şifreleme yöntemi ile deşifreliyorum aeskey = rsa.Decryption(aeskey, privatekeyString); AESClass aesclass = new AESClass(); //aes ile dosyamın şifresini çözüyorum aesclass.EncryptAesManagedDecrypt(encrypt, aeskey, aesıv); } //imzamı doğruluyorum ve dosyamın şifresini çözüyorum else if (comboBox1.SelectedIndex == 2) { RSAClass rsa = new RSAClass(); //RSA ile şifrelenen aes.key'imin şifresini çözüyorum aeskey = rsa.Decryption(aeskey, privatekeyString); AESClass aesclass = new AESClass(); //Aes ile şifrelenen dosyamı deşifreliyorum aesclass.EncryptAesManagedDecrypt(encrypt, aeskey, aesıv); SignatureClass sigval = new SignatureClass(); //imzamı doğruluyorum string signature = sigval.generatesignature(privatekey1); if (sigval.validate(signature, publickey1)) //doğrulama true döndüğünde girdiği işlem { MessageBox.Show("imza doğrulandı"); } else //doğrulama false döndüğünde girdiği işlem { MessageBox.Show("imzalar eşleşmedi"); } } dosyaadi = null; FileReadWrite.fileData = null; FileReadWrite.fileName = null; FileReadWrite.filePath = null; } catch (Exception ex) { MessageBox.Show(ex.Message); } } }