• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Copyright (c) 2023 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 *     http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16import { AsyncCallback, Callback } from './basic';
17
18/**
19 * xts_device_attest authResult information
20 *
21 * @since 9
22 * @syscap SystemCapability.XTS.DeviceAttest
23 */
24declare namespace deviceAttest {
25    /**
26     * Obtains the AttestResultInfo object.
27     *
28     * @param callback Indicates the callback containing the AttestResultInfo object.
29     * @since 9
30     * @throws { BusinessError } 202 - Not System App. Interface caller is not a system app.
31     * @throws { BusinessError } 401 - The parameter check failed.
32     * @throws { BusinessError } 20000001 -  system service exception.
33     * @systemapi
34     */
35    function getAttestStatus(callback: AsyncCallback<AttestResultInfo>) : void;
36
37    /**
38     * Obtains the AttestResultInfo object.
39     *
40     * @returns Returns that the AttestResultInfo object is returned in Promise mode.
41     * @since 9
42     * @throws { BusinessError } 202 - Not System App. Interface caller is not a system app.
43     * @throws { BusinessError } 401 - The parameter check failed.
44     * @throws { BusinessError } 20000001 -  system service exception.
45     * @systemapi
46     */
47    function getAttestStatus() : Promise<AttestResultInfo>;
48
49    /**
50     * Obtains the AttestResultInfo object.
51     *
52     * @returns Obtains the AttestResultInfo object synchronously.
53     * @since 9
54     * @throws { BusinessError } 202 - Not System App. Interface caller is not a system app.
55     * @throws { BusinessError } 401 - The parameter check failed.
56     * @throws { BusinessError } 20000001 -  system service exception.
57     * @systemapi
58     */
59    function getAttestStatusSync() : AttestResultInfo;
60
61    /**
62     * Device attest result information.
63     * @typedef AttestResultInfo
64     * @syscap SystemCapability.XTS.DeviceAttest
65     * @since 9
66     * @systemapi
67     */
68    export interface AttestResultInfo {
69
70        /**
71         * Result of the device hardware information authentication.
72         *
73         * @type { number }
74         * @since 9
75         */
76        authResult : number;
77
78        /**
79         * Result of the device software information authentication.
80         *
81         * @type { number }
82         * @since 9
83         */
84        softwareResult : number;
85
86        /**
87         * Software result detail array that includes versionId, patchLevel,
88         * rootHash and a reserved space.
89         *
90         * @type { Array<number> }
91         * @since 9
92         */
93        softwareResultDetail : Array<number>;
94
95        /**
96         * Credential sent from the cloud.
97         *
98         * @type { string }
99         * @since 9
100         */
101        ticket : string;
102    }
103}
104
105export default deviceAttest;