Ejemplo n.º 1
0
 private void DecryptTokenRecursive(JToken jToken, byte[] privateKey)
 {
     if (jToken.HasValues)
     {
         foreach (var child in jToken)
         {
             DecryptTokenRecursive(child, privateKey);
         }
     }
     else if (IsEncryptable(jToken))
     {
         try
         {
             var valueStirng = jToken.Value <string>();
             if (BoxedMessage.IsBoxedMessage(valueStirng) && BoxedMessage.TryCreate(valueStirng, out BoxedMessage boxedMessage))
             {
                 var decryptedValue = _boxedMessageCrypto.Decrypt(boxedMessage, privateKey);
                 ((JProperty)jToken.Parent).Value = decryptedValue;
             }
             ;
         }
         catch
         {
             // TODO: make error behavior configurable
             throw;
         }
     }
 }
Ejemplo n.º 2
0
 private void EncryptTokenRecursive(JToken jToken, byte[] publicKey)
 {
     if (jToken.HasValues)
     {
         foreach (var child in jToken)
         {
             EncryptTokenRecursive(child, publicKey);
         }
     }
     else if (IsEncryptable(jToken))
     {
         try
         {
             var valueStirng = jToken.Value <string>();
             if (!BoxedMessage.IsBoxedMessage(valueStirng))
             {
                 var encryptedValue = _boxedMessageCrypto.Encrypt(valueStirng, publicKey).ToString();
                 ((JProperty)jToken.Parent).Value = encryptedValue;
             }
             ;
         }
         catch
         {
             // TODO: make error behavior configurable
             throw;
         }
     }
 }