Exemple #1
0
 private static void ReadPropertyValue(KeyEnvelope key, JsonProperty property)
 {
     if (property.NameEquals(nameof(key.Algorithm)))
     {
         key.Algorithm = property.Value.GetString();
     }
     else if (property.NameEquals(nameof(key.EncryptedKey)))
     {
         key.EncryptedKey = Convert.FromBase64String(property.Value.GetString());
     }
     else if (property.NameEquals(nameof(key.KeyId)))
     {
         key.KeyId = property.Value.GetString();
     }
 }
Exemple #2
0
 private static void ReadPropertyValue(EncryptionData data, JsonProperty property)
 {
     if (property.NameEquals(nameof(data.EncryptionMode)))
     {
         data.EncryptionMode = property.Value.GetString();
     }
     else if (property.NameEquals(nameof(data.WrappedContentKey)))
     {
         var key = new KeyEnvelope();
         foreach (var subProperty in property.Value.EnumerateObject())
         {
             ReadPropertyValue(key, subProperty);
         }
         data.WrappedContentKey = key;
     }
     else if (property.NameEquals(nameof(data.EncryptionAgent)))
     {
         var agent = new EncryptionAgent();
         foreach (var subProperty in property.Value.EnumerateObject())
         {
             ReadPropertyValue(agent, subProperty);
         }
         data.EncryptionAgent = agent;
     }
     else if (property.NameEquals(nameof(data.ContentEncryptionIV)))
     {
         data.ContentEncryptionIV = Convert.FromBase64String(property.Value.GetString());
     }
     else if (property.NameEquals(nameof(data.KeyWrappingMetadata)))
     {
         var metadata = new Dictionary <string, string>();
         foreach (var entry in property.Value.EnumerateObject())
         {
             metadata.Add(entry.Name, entry.Value.GetString());
         }
         data.KeyWrappingMetadata = metadata;
     }
     else if (property.NameEquals(nameof(data.EncryptedRegionInfo)))
     {
         var info = new EncryptedRegionInfo();
         foreach (var subProperty in property.Value.EnumerateObject())
         {
             ReadPropertyValue(info, subProperty);
         }
         data.EncryptedRegionInfo = info;
     }
 }
Exemple #3
0
 private static void WriteWrappedKey(Utf8JsonWriter json, KeyEnvelope key)
 {
     json.WriteString(nameof(key.KeyId), key.KeyId);
     json.WriteString(nameof(key.EncryptedKey), Convert.ToBase64String(key.EncryptedKey));
     json.WriteString(nameof(key.Algorithm), key.Algorithm);
 }