content: /*
   * Copyright (C) 2018 The Android Open Source Project
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   *      http://www.apache.org/licenses/LICENSE-2.0
   *
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS,
   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   * See the License for the specific language governing permissions and
   * limitations under the License.
   */
  
  package com.android.server.locksettings.recoverablekeystore.serialization;
  
  /**
   * Describes the XML schema of the {@link android.security.keystore.recovery.KeyChainSnapshot} file.
   */
  class KeyChainSnapshotSchema {
      static final String NAMESPACE = null;
  
      static final String OUTPUT_ENCODING = "UTF-8";
  
      static final String CERTIFICATE_FACTORY_TYPE = "X.509";
      static final String CERT_PATH_ENCODING = "PkiPath";
  
      static final String TAG_KEY_CHAIN_SNAPSHOT = "keyChainSnapshot";
  
      static final String TAG_SNAPSHOT_VERSION = "snapshotVersion";
      static final String TAG_COUNTER_ID = "counterId";
      static final String TAG_MAX_ATTEMPTS = "maxAttempts";
      static final String TAG_RECOVERY_KEY_MATERIAL = "recoveryKeyMaterial";
      static final String TAG_SERVER_PARAMS = "serverParams";
      static final String TAG_TRUSTED_HARDWARE_CERT_PATH = "thmCertPath";
      static final String TAG_BACKEND_PUBLIC_KEY = "backendPublicKey"; // Deprecated.
  
      static final String TAG_KEY_CHAIN_PROTECTION_PARAMS_LIST =
              "keyChainProtectionParamsList";
      static final String TAG_KEY_CHAIN_PROTECTION_PARAMS = "keyChainProtectionParams";
      static final String TAG_USER_SECRET_TYPE = "userSecretType";
      static final String TAG_LOCK_SCREEN_UI_TYPE = "lockScreenUiType";
  
      static final String TAG_KEY_DERIVATION_PARAMS = "keyDerivationParams";
      static final String TAG_ALGORITHM = "algorithm";
      static final String TAG_MEMORY_DIFFICULTY = "memoryDifficulty";
      static final String TAG_SALT = "salt";
  
      static final String TAG_APPLICATION_KEYS = "applicationKeysList";
      static final String TAG_APPLICATION_KEY = "applicationKey";
      static final String TAG_ALIAS = "alias";
      static final String TAG_KEY_MATERIAL = "keyMaterial";
      static final String TAG_KEY_METADATA = "keyMetadata";
  
      // Statics only
      private KeyChainSnapshotSchema() {}
  }
  