internal void ReadProperties(JsonElement json)
        {
            foreach (JsonProperty prop in json.EnumerateObject())
            {
                switch (prop.Name)
                {
                case ContentTypePropertyName:
                    ContentType = prop.Value.GetString();
                    break;

                case DataPropertyName:
                    byte[] data = Base64Url.Decode(prop.Value.GetString());
                    EncodedPolicy = new BinaryData(data);
                    break;

                case ImmutablePropertyName:
                    Immutable = prop.Value.GetBoolean();
                    break;
                }
            }
        }
Esempio n. 2
0
 internal void WriteProperties(Utf8JsonWriter json, bool withId = false)
 {
     if (Id != null && withId)
     {
         json.WriteString(s_keyIdPropertyNameBytes, Id);
     }
     if (KeyType != default)
     {
         json.WriteString(s_keyTypePropertyNameBytes, KeyType.ToString());
     }
     if (KeyOps != null)
     {
         json.WriteStartArray(s_keyOpsPropertyNameBytes);
         foreach (KeyOperation operation in KeyOps)
         {
             json.WriteStringValue(operation.ToString());
         }
         json.WriteEndArray();
     }
     if (CurveName.HasValue)
     {
         json.WriteString(s_curveNamePropertyNameBytes, CurveName.Value.ToString());
     }
     if (N != null)
     {
         json.WriteString(s_nPropertyNameBytes, Base64Url.Encode(N));
     }
     if (E != null)
     {
         json.WriteString(s_ePropertyNameBytes, Base64Url.Encode(E));
     }
     if (DP != null)
     {
         json.WriteString(s_dPPropertyNameBytes, Base64Url.Encode(DP));
     }
     if (DQ != null)
     {
         json.WriteString(s_dQPropertyNameBytes, Base64Url.Encode(DQ));
     }
     if (QI != null)
     {
         json.WriteString(s_qIPropertyNameBytes, Base64Url.Encode(QI));
     }
     if (P != null)
     {
         json.WriteString(s_pPropertyNameBytes, Base64Url.Encode(P));
     }
     if (Q != null)
     {
         json.WriteString(s_qPropertyNameBytes, Base64Url.Encode(Q));
     }
     if (X != null)
     {
         json.WriteString(s_xPropertyNameBytes, Base64Url.Encode(X));
     }
     if (Y != null)
     {
         json.WriteString(s_yPropertyNameBytes, Base64Url.Encode(Y));
     }
     if (D != null)
     {
         json.WriteString(s_dPropertyNameBytes, Base64Url.Encode(D));
     }
     if (K != null)
     {
         json.WriteString(s_kPropertyNameBytes, Base64Url.Encode(K));
     }
     if (T != null)
     {
         json.WriteString(s_tPropertyNameBytes, Base64Url.Encode(T));
     }
 }
Esempio n. 3
0
        internal void ReadProperties(JsonElement json)
        {
            foreach (JsonProperty prop in json.EnumerateObject())
            {
                switch (prop.Name)
                {
                case KeyIdPropertyName:
                    Id = prop.Value.GetString();
                    break;

                case KeyTypePropertyName:
                    KeyType = prop.Value.GetString();
                    break;

                case KeyOpsPropertyName:
                    foreach (JsonElement element in prop.Value.EnumerateArray())
                    {
                        _keyOps.Add(element.ToString());
                    }
                    break;

                case CurveNamePropertyName:
                    CurveName = prop.Value.GetString();
                    break;

                case NPropertyName:
                    N = Base64Url.Decode(prop.Value.GetString());
                    break;

                case EPropertyName:
                    E = Base64Url.Decode(prop.Value.GetString());
                    break;

                case DPPropertyName:
                    DP = Base64Url.Decode(prop.Value.GetString());
                    break;

                case DQPropertyName:
                    DQ = Base64Url.Decode(prop.Value.GetString());
                    break;

                case QIPropertyName:
                    QI = Base64Url.Decode(prop.Value.GetString());
                    break;

                case PPropertyName:
                    P = Base64Url.Decode(prop.Value.GetString());
                    break;

                case QPropertyName:
                    Q = Base64Url.Decode(prop.Value.GetString());
                    break;

                case XPropertyName:
                    X = Base64Url.Decode(prop.Value.GetString());
                    break;

                case YPropertyName:
                    Y = Base64Url.Decode(prop.Value.GetString());
                    break;

                case DPropertyName:
                    D = Base64Url.Decode(prop.Value.GetString());
                    break;

                case KPropertyName:
                    K = Base64Url.Decode(prop.Value.GetString());
                    break;

                case TPropertyName:
                    T = Base64Url.Decode(prop.Value.GetString());
                    break;
                }
            }
        }
Esempio n. 4
0
 internal void WriteProperties(Utf8JsonWriter json)
 {
     if (KeyType != default)
     {
         json.WriteString(KeyTypePropertyNameBytes, KeyType);
     }
     if (KeyOps != null)
     {
         json.WriteStartArray(KeyOpsPropertyNameBytes);
         foreach (var operation in KeyOps)
         {
             json.WriteStringValue(operation);
         }
         json.WriteEndArray();
     }
     if (!string.IsNullOrEmpty(CurveName))
     {
         json.WriteString(CurveNamePropertyNameBytes, CurveName);
     }
     if (N != null)
     {
         json.WriteString(NPropertyNameBytes, Base64Url.Encode(N));
     }
     if (E != null)
     {
         json.WriteString(EPropertyNameBytes, Base64Url.Encode(E));
     }
     if (DP != null)
     {
         json.WriteString(DPPropertyNameBytes, Base64Url.Encode(DP));
     }
     if (DQ != null)
     {
         json.WriteString(DQPropertyNameBytes, Base64Url.Encode(DQ));
     }
     if (QI != null)
     {
         json.WriteString(QIPropertyNameBytes, Base64Url.Encode(QI));
     }
     if (P != null)
     {
         json.WriteString(PPropertyNameBytes, Base64Url.Encode(P));
     }
     if (Q != null)
     {
         json.WriteString(QPropertyNameBytes, Base64Url.Encode(Q));
     }
     if (X != null)
     {
         json.WriteString(XPropertyNameBytes, Base64Url.Encode(X));
     }
     if (Y != null)
     {
         json.WriteString(YPropertyNameBytes, Base64Url.Encode(Y));
     }
     if (D != null)
     {
         json.WriteString(DPropertyNameBytes, Base64Url.Encode(D));
     }
     if (K != null)
     {
         json.WriteString(KPropertyNameBytes, Base64Url.Encode(K));
     }
     if (T != null)
     {
         json.WriteString(TPropertyNameBytes, Base64Url.Encode(T));
     }
 }
Esempio n. 5
0
 void IJsonSerializable.WriteProperties(Utf8JsonWriter json)
 {
     json.WriteString(ValuePropertyNameBytes, Base64Url.Encode(Value));
 }
Esempio n. 6
0
 internal void WriteProperties(Utf8JsonWriter json)
 {
     if (KeyType != default)
     {
         json.WriteString(s_keyTypePropertyNameBytes, KeyType);
     }
     if (KeyOps != null)
     {
         json.WriteStartArray(s_keyOpsPropertyNameBytes);
         foreach (KeyOperation operation in KeyOps)
         {
             json.WriteStringValue(operation);
         }
         json.WriteEndArray();
     }
     if (!string.IsNullOrEmpty(CurveName))
     {
         json.WriteString(s_curveNamePropertyNameBytes, CurveName);
     }
     if (N != null)
     {
         json.WriteString(s_nPropertyNameBytes, Base64Url.Encode(N));
     }
     if (E != null)
     {
         json.WriteString(s_ePropertyNameBytes, Base64Url.Encode(E));
     }
     if (DP != null)
     {
         json.WriteString(s_dPPropertyNameBytes, Base64Url.Encode(DP));
     }
     if (DQ != null)
     {
         json.WriteString(s_dQPropertyNameBytes, Base64Url.Encode(DQ));
     }
     if (QI != null)
     {
         json.WriteString(s_qIPropertyNameBytes, Base64Url.Encode(QI));
     }
     if (P != null)
     {
         json.WriteString(s_pPropertyNameBytes, Base64Url.Encode(P));
     }
     if (Q != null)
     {
         json.WriteString(s_qPropertyNameBytes, Base64Url.Encode(Q));
     }
     if (X != null)
     {
         json.WriteString(s_xPropertyNameBytes, Base64Url.Encode(X));
     }
     if (Y != null)
     {
         json.WriteString(s_yPropertyNameBytes, Base64Url.Encode(Y));
     }
     if (D != null)
     {
         json.WriteString(s_dPropertyNameBytes, Base64Url.Encode(D));
     }
     if (K != null)
     {
         json.WriteString(s_kPropertyNameBytes, Base64Url.Encode(K));
     }
     if (T != null)
     {
         json.WriteString(s_tPropertyNameBytes, Base64Url.Encode(T));
     }
 }
Esempio n. 7
0
 internal override void WriteProperties(Utf8JsonWriter json)
 {
     json.WriteString(ValuePropertyNameBytes, Base64Url.Encode(Value));
 }
Esempio n. 8
0
        internal override void ReadProperties(JsonElement json)
        {
            foreach (JsonProperty prop in json.EnumerateObject())
            {
                switch (prop.Name)
                {
                case KeyIdPropertyName:
                    KeyId = prop.Value.GetString();
                    break;

                case KeyTypePropertyName:
                    KeyType = KeyTypeExtensions.ParseFromString(prop.Value.GetString());
                    break;

                case KeyOpsPropertyName:
                    foreach (var element in prop.Value.EnumerateObject())
                    {
                        KeyOps.Add(KeyOperationsExtensions.ParseFromString(element.Value.ToString()));
                    }
                    break;

                case CurveNamePropertyName:
                    CurveName = prop.Value.GetString();
                    break;

                case NPropertyName:
                    N = Base64Url.Decode(prop.Value.GetString());
                    break;

                case EPropertyName:
                    E = Base64Url.Decode(prop.Value.GetString());
                    break;

                case DPPropertyName:
                    DP = Base64Url.Decode(prop.Value.GetString());
                    break;

                case DQPropertyName:
                    DQ = Base64Url.Decode(prop.Value.GetString());
                    break;

                case QIPropertyName:
                    QI = Base64Url.Decode(prop.Value.GetString());
                    break;

                case PPropertyName:
                    P = Base64Url.Decode(prop.Value.GetString());
                    break;

                case QPropertyName:
                    Q = Base64Url.Decode(prop.Value.GetString());
                    break;

                case XPropertyName:
                    X = Base64Url.Decode(prop.Value.GetString());
                    break;

                case YPropertyName:
                    Y = Base64Url.Decode(prop.Value.GetString());
                    break;

                case DPropertyName:
                    D = Base64Url.Decode(prop.Value.GetString());
                    break;

                case KPropertyName:
                    K = Base64Url.Decode(prop.Value.GetString());
                    break;

                case TPropertyName:
                    T = Base64Url.Decode(prop.Value.GetString());
                    break;
                }
            }
        }