Esempio n. 1
0
        public IActionResult CreateMessage(CreateMessageModel model)
        {
            if (ModelState.IsValid)
            {
                var email = new Message
                {
                    EmailSender   = User.Identity.Name,
                    EmailReceiver = model.EmailReceiver,
                    Text          = model.Text,
                    AttachedFile  = model.File
                };

                var rsaEncryption    = new RSAEncryption(email.EmailReceiver);
                var digitalSignature = new DigitalSignature(email.EmailSender);

                var encryptedMessage = _messageEncryptionService.EncryptData(email, rsaEncryption, digitalSignature);

                if (email.AttachedFile != null)
                {
                    _fileEncryptionService.EncryptFile(email.AttachedFile, encryptedMessage, rsaEncryption, digitalSignature);
                }

                return(RedirectToAction(nameof(MessageSentSuccessfully)));
            }

            return(View());
        }