• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2021 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package android.security.dice;
18 
19 import android.hardware.security.dice.InputValues;
20 
21 /**
22  * The maintenance allows callers to prompt the DICE node to demote itself.
23  *
24  * @hide
25  */
26 @SensitiveData
27 interface IDiceMaintenance {
28     /**
29      * The implementation must demote itself by deriving new effective artifacts
30      * based on the list of input data passed to the function.
31      * As opposed to the IDiceNode::demote, this function effects all clients of
32      * the implementation.
33      *
34      * ## Error as service specific exception:
35      *     ResponseCode::PERMISSION_DENIED if the caller does not have the demote_self permission.
36      *     May produce any ResponseCode if anything went wrong.
37      */
demoteSelf(in InputValues[] input_values)38     void demoteSelf(in InputValues[] input_values);
39 }
40