Example #1
0
 private void encSetBtn_Click(object sender, EventArgs e)
 {
     //shows the encryption form
     encryptForm encForm = new encryptForm();
     if (encForm.ShowDialog() == DialogResult.OK)
     {
         useSymmetric = encForm.rtnUseSymmetric;
         useAsymmetric = encForm.rtnUseAsymmetric;
         public_key = encForm.public_key;
         SymmetricKey = encForm.SymmetricKey;
     }
 }
Example #2
0
        private void encSetBtn_Click(object sender, EventArgs e)
        {
            //shows the encryption form
            encryptForm encForm = new encryptForm();

            if (encForm.ShowDialog() == DialogResult.OK)
            {
                useSymmetric  = encForm.rtnUseSymmetric;
                useAsymmetric = encForm.rtnUseAsymmetric;
                public_key    = encForm.public_key;
                SymmetricKey  = encForm.SymmetricKey;
            }
        }
Example #3
0
        // The general function to encrypt a mail, depending on settings
        // Uses asymmetric.cs and symmetric.cs functions
        public static email encryptMail(email mail, bool useSymmetric, string symmetricKey, bool useAsymmetric, MerMail.Asymmetric.Key public_key)
        {
            // We are maybe going to modify contents in the mail, so we store it
            email rtn = mail;

            // We are maybe going to encrypt the symmetric key, so we store it too
            string symKey = symmetricKey;

            // We'll make it easy for the user to know, if the symmetric key
            // is encrypted or not
            string symKeyName = "symmetric_raw.txt";
            string diagTitle  = "Save symmetric key to file";

            // We symmetricly encrypt the message body (if chosen)
            if (useSymmetric)
            {
                // We'll encrypt the message, while we still know the symmetric key
                rtn.body = MerMail.Symmetric.EncryptString(symKey, rtn.body);

                // We asymmetricly encrypt the symmetric key (if chosen)
                if (useAsymmetric)
                {
                    symKey = MerMail.Asymmetric.EncryptString(symmetricKey, public_key);

                    // Now, we know that the symmetric key is encrypted, so we're
                    // going to tell the user that we encrypted it
                    symKeyName = "symmetric_encrypted.txt";
                    diagTitle  = "Save encrypted symmetric key to file";
                }
            }

            // Can be saved to any filetype (but we like .txt)
            MerMail.Program.saveFile(symKeyName, diagTitle, "Any (*.*)", "*.*", symKey);

            return(rtn);
        }
Example #4
0
        // The general function to decrypt a mail, depending on settings
        // Uses asymmetric.cs and symmetric.cs functions
        public static email decryptMail(email mail, bool useSymmetric, string symmetricKey, bool useAsymmetric, MerMail.Asymmetric.Key privatekey)
        {
            // We are maybe going to modify contents in the mail, so we store it
            email rtn = mail;

            // We are maybe going to decrypt the symmetric key, so we store it too
            string symKey = symmetricKey;

            // We symmetricly decrypt the message body (if chosen)
            if (useSymmetric)
            {
                // we asymmetricly decrypt the symmetric key (if chosen)
                if (useAsymmetric)
                {
                    symKey = MerMail.Asymmetric.DecryptString(symmetricKey, privatekey);
                }
                rtn.body = MerMail.Symmetric.DecryptString(symKey, rtn.body);
            }
            return(rtn);
        }