SafetyNet Attestation is now deprecated. New and existing developers should use the Play Integrity API instead.
This repository will remain for reference, but will not receive any updates in the future.
These samples demonstrate the end-to-end use of the SafetyNet API. SafetyNet provides services for analyzing the configuration of a particular device to verify that it passes the Android compatibility test.
This repository consists of one client and two server components:
- client/java: Android sample app in Java, showing the use of Google Play Services for the SafetyNet API on a device.
- server/java: Two samples, showing how to verify a SafetyNet API response on a server in Java, including offline and online via the Android Device Verification API.
- server/csharp: Two samples, showing how to verify a SafetyNet API response on a server in C#, including offline and online via the Android Device Verification API.
For more details, see the documentation for each and component and the guide at https://developer.android.com/training/safetynet/index.html .
- Build and run the Android component of this sample from the client/java directory.
- Retrieve a signed statement from the Android app and copy it to your machine. (You can use the "Share Result" option.)
- Build the java server component or C# server component.
- Run the
OnlineVerifychecks and provide the signed statement from the app as input.
If you've found an error in this sample, please file an issue: https://github.com/googlesamples/android-play-safetynet
Patches are encouraged, and may be submitted by forking this project and submitting a pull request through GitHub. Please see CONTRIBUTING.md for more details.
Copyright 2017 Google Inc.
Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you 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
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.