Example #1
0
        protected internal T Decrypt <T>(ResponseDataInfo output)
        {
            T model = default(T);

            if (output != null)
            {
                byte[] decryptREK = EncryptionUtils.AesDecrypt(output.rek, provider.DecryptedKey);
                byte[] jsonData   = EncryptionUtils.AesDecrypt(output.data, decryptREK);
                string json       = Encoding.UTF8.GetString(jsonData);
                byte[] decodeJson = Convert.FromBase64String(json);
                string finalJson  = Encoding.UTF8.GetString(decodeJson);
                model    = Newtonsoft.Json.JsonConvert.DeserializeObject <T>(finalJson);
                LastJson = finalJson;
            }
            return(model);
        }
Example #2
0
        protected internal T Decrypt <T>(ResponseDataInfo output)
        {
            T model = default(T);

            if (output != null)
            {
                byte[] decryptREK = EncryptionUtils.AesDecrypt(output.rek, provider.DecryptedKey);
                byte[] jsonData   = EncryptionUtils.AesDecrypt(output.data, decryptREK);
                string testHmac   = EncryptionUtils.GenerateHMAC(jsonData, decryptREK);
                System.Console.WriteLine("HMAC Match:" + (output.hmac == testHmac));
                string base64Payload = UTF8Encoding.UTF8.GetString(jsonData);
                byte[] decodeJson    = Convert.FromBase64String(base64Payload);
                string finalJson     = Encoding.UTF8.GetString(decodeJson);
                model    = Newtonsoft.Json.JsonConvert.DeserializeObject <T>(finalJson);
                LastJson = finalJson;
            }
            return(model);
        }