xref: /aosp_15_r20/external/android-key-attestation/README.md (revision 7ca207924212edeca68cc84bb4fcd356338eb385)
1*7ca20792SAndroid Build Coastguard WorkerAndroid Key Attestation Library
2*7ca20792SAndroid Build Coastguard Worker===================================
3*7ca20792SAndroid Build Coastguard Worker
4*7ca20792SAndroid Build Coastguard WorkerThis library uses the [Bouncy Castle ASN.1][1] parser to extract information
5*7ca20792SAndroid Build Coastguard Workerfrom an Android attestation data structure to verify that a key pair has been
6*7ca20792SAndroid Build Coastguard Workergenerated in a hardware-protected environment of an Android device. It is
7*7ca20792SAndroid Build Coastguard Workermaintained in tandem with Android's key attestation capabilities and is meant
8*7ca20792SAndroid Build Coastguard Workerfor production use.
9*7ca20792SAndroid Build Coastguard Worker
10*7ca20792SAndroid Build Coastguard WorkerThis repository contains a [server](server/src/main/java/com/android/example/)
11*7ca20792SAndroid Build Coastguard Workersample code that shows how to validate an Android attestation certificate chain
12*7ca20792SAndroid Build Coastguard Workeroutside the Android framework. This is the recommended best practice, since if
13*7ca20792SAndroid Build Coastguard Workerthe Android device is rooted or otherwise compromised, on-device validation of
14*7ca20792SAndroid Build Coastguard Workerthe attestation may be inaccurate.
15*7ca20792SAndroid Build Coastguard Worker
16*7ca20792SAndroid Build Coastguard WorkerThe entry point into the
17*7ca20792SAndroid Build Coastguard Worker[library itself](server/src/main/java/com/google/android/attestation/)
18*7ca20792SAndroid Build Coastguard Workeris `com.google.android.attestation.ParsedAttestationRecord.createParsedAttestationRecord`.
19*7ca20792SAndroid Build Coastguard Worker
20*7ca20792SAndroid Build Coastguard WorkerFor more details, see the documentation and the guide at
21*7ca20792SAndroid Build Coastguard Workerhttps://developer.android.com/training/articles/security-key-attestation.html .
22*7ca20792SAndroid Build Coastguard Worker
23*7ca20792SAndroid Build Coastguard Worker[1]: https://www.bouncycastle.org/
24*7ca20792SAndroid Build Coastguard Worker
25*7ca20792SAndroid Build Coastguard Worker
26*7ca20792SAndroid Build Coastguard WorkerGetting Started
27*7ca20792SAndroid Build Coastguard Worker---------------
28*7ca20792SAndroid Build Coastguard Worker
29*7ca20792SAndroid Build Coastguard WorkerSee the [server](server/) sample for details.
30*7ca20792SAndroid Build Coastguard Worker
31*7ca20792SAndroid Build Coastguard WorkerSupport
32*7ca20792SAndroid Build Coastguard Worker-------
33*7ca20792SAndroid Build Coastguard Worker
34*7ca20792SAndroid Build Coastguard Worker- Stack Overflow: http://stackoverflow.com/questions/tagged/android
35*7ca20792SAndroid Build Coastguard Worker
36*7ca20792SAndroid Build Coastguard WorkerIf you've found an error in this sample, please file an issue:
37*7ca20792SAndroid Build Coastguard Workerhttps://github.com/google/android-key-attestation
38*7ca20792SAndroid Build Coastguard Worker
39*7ca20792SAndroid Build Coastguard WorkerPatches are encouraged, and may be submitted by forking this project and
40*7ca20792SAndroid Build Coastguard Workersubmitting a pull request through GitHub. Please see CONTRIBUTING.md for more details.
41*7ca20792SAndroid Build Coastguard Worker
42*7ca20792SAndroid Build Coastguard WorkerLicense
43*7ca20792SAndroid Build Coastguard Worker-------
44*7ca20792SAndroid Build Coastguard Worker
45*7ca20792SAndroid Build Coastguard WorkerCopyright 2016, The Android Open Source Project, Inc.
46*7ca20792SAndroid Build Coastguard Worker
47*7ca20792SAndroid Build Coastguard WorkerLicensed to the Apache Software Foundation (ASF) under one or more contributor
48*7ca20792SAndroid Build Coastguard Workerlicense agreements. See the NOTICE file distributed with this work for
49*7ca20792SAndroid Build Coastguard Workeradditional information regarding copyright ownership. The ASF licenses this
50*7ca20792SAndroid Build Coastguard Workerfile to you under the Apache License, Version 2.0 (the "License"); you may not
51*7ca20792SAndroid Build Coastguard Workeruse this file except in compliance with the License. You may obtain a copy of
52*7ca20792SAndroid Build Coastguard Workerthe License at
53*7ca20792SAndroid Build Coastguard Worker
54*7ca20792SAndroid Build Coastguard Workerhttp://www.apache.org/licenses/LICENSE-2.0
55*7ca20792SAndroid Build Coastguard Worker
56*7ca20792SAndroid Build Coastguard WorkerUnless required by applicable law or agreed to in writing, software
57*7ca20792SAndroid Build Coastguard Workerdistributed under the License is distributed on an "AS IS" BASIS, WITHOUT
58*7ca20792SAndroid Build Coastguard WorkerWARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
59*7ca20792SAndroid Build Coastguard WorkerLicense for the specific language governing permissions and limitations under
60*7ca20792SAndroid Build Coastguard Workerthe License.
61