public IActionResult Index()
        {
            var encryptedJweViewModel = new EncryptedJweViewModel()
            {
                PhoneNumber  = "(555) 555-5555",
                ErrorMessage = " ",
                EncryptedJwe = string.Empty
            };

            return(View(encryptedJweViewModel));
        }
Exemple #2
0
        public ActionResult Index()
        {
            ViewBag.Title = "Home Page";

            var encryptedJweViewModel = new EncryptedJweViewModel();

            encryptedJweViewModel.PhoneNumber  = "(555) 555-5555";
            encryptedJweViewModel.ErrorMessage = " ";
            encryptedJweViewModel.EncryptedJwe = string.Empty;

            return(View(encryptedJweViewModel));
        }
        public async Task <IActionResult> Index(string submitButton, string encryptedJwe, EncryptedJweViewModel encryptedJweViewModel)
        {
            try
            {
                if (submitButton == "Encrypt")
                {
                    encryptedJweViewModel.EncryptedJwe = await this.encryption.EncryptAsync(encryptedJweViewModel.PhoneNumber);
                }
                else if (submitButton == "Decrypt")
                {
                    encryptedJweViewModel.DecryptedPhoneNumber = await this.encryption.DecryptAsync(encryptedJwe);
                }
            }
            catch (Exception ex)
            {
                encryptedJweViewModel.DecryptedPhoneNumber = string.Empty;
                encryptedJweViewModel.ErrorMessage         = ex.Message;
                if (ex.InnerException != null)
                {
                    encryptedJweViewModel.ErrorMessage += " " + ex.InnerException.Message;
                }
            }

            return(View(encryptedJweViewModel));
        }
Exemple #4
0
        public async Task <ActionResult> Index(string submitButton, string encryptedJwe, EncryptedJweViewModel encryptedJweViewModel)
        {
            try
            {
                var jwksUrl = ConfigurationManager.AppSettings["JwksUrl"];
                var cacheDurationSeconds = long.Parse(ConfigurationManager.AppSettings["CacheDurationSeconds"]);

                var privateJsonWebKeyList = new List <JsonWebKey>();
                var privateRsaJson        = System.IO.File.ReadAllText(AppDomain.CurrentDomain.RelativeSearchPath + @"\TestData\RsaPrivate.json");
                var privateRsaJsonWebKey  = JsonConvert.DeserializeObject <JsonWebKey>(privateRsaJson);
                privateJsonWebKeyList.Add(privateRsaJsonWebKey);

                var httpClient = new HttpClient();

                var jwksService = new JwksService(httpClient, jwksUrl);
                var keyResolver = new KeyResolver(privateJsonWebKeyList, jwksService, cacheDurationSeconds);

                var loggerFactory = new LoggerFactory();
                var logger        = LoggerFactoryExtensions.CreateLogger <Encryption>(loggerFactory);
                var encryption    = new Encryption(keyResolver, logger);

                if (submitButton == "Encrypt")
                {
                    encryptedJweViewModel.EncryptedJwe = await encryption.EncryptAsync(encryptedJweViewModel.PhoneNumber);
                }
                else if (submitButton == "Decrypt")
                {
                    encryptedJweViewModel.DecryptedPhoneNumber = await encryption.DecryptAsync(encryptedJwe);
                }
            }
            catch (Exception ex)
            {
                encryptedJweViewModel.DecryptedPhoneNumber = string.Empty;
                encryptedJweViewModel.ErrorMessage         = ex.Message;
                if (ex.InnerException != null)
                {
                    encryptedJweViewModel.ErrorMessage += " " + ex.InnerException.Message;
                }
            }

            return(View(encryptedJweViewModel));
        }