Проверка среды безопасности в Android с использованием SafetyNet Attestation API не работает, поскольку она не получает обратный вызов в случае успешного или неудачного обратного вызова
Для проверки безопасности среды в Android я использовал
https://developer.android.com/training/safetynet/attestation.html
SafetyNet.getClient(this).attest(nonce, API_KEY)
.addOnSuccessListener(this,successListner)
.addOnFailureListener(this,failureListener)
для которого я получаю сообщение об ошибке с ошибкой сети ноль. Кто-нибудь может пролить свет на это?
но https://medium.com/@hargoyal/secure-android-app-with-safetynet-8e367a1c8ad0
SafetyNet.SafetyNetApi.attest(mGoogleApiClient, nonce)
.setResultCallback(new ResultCallback<SafetyNetApi.AttestationResult>() {
@Override
public void onResult(SafetyNetApi.AttestationResult result) {
Status status = result.getStatus();
if (status.isSuccess()) {
decodeJws(result.getJwsResult());
// Indicates communication with the service was successful.
// Use result.getJwsResult() to get the result data.
} else {
// An error occurred while communicating with the service.
}
}
});
этот подход работает, но SafetyNet.SafetyNetApi устарела.
1 ответ
Решение
Перепроверьте ключ API или создайте новый, как здесь. У меня возникла та же проблема, и проблема заключалась в том, что я ограничивал ключ неверным именем пакета.
- Перейдите на страницу библиотеки в консоли API Google.
- Поиск API проверки устройств Android. Когда вы найдете API, нажмите на него. Появится экран панели мониторинга API устройства Android.
- Если API еще не включен, нажмите Включить.
- Если появляется кнопка "Создать учетные данные", нажмите на нее, чтобы создать ключ API. В противном случае щелкните раскрывающийся список Все учетные данные API и выберите ключ API, связанный с проектом, для которого включен API проверки устройств Android.
- На боковой панели слева нажмите Учетные данные. Скопируйте ключ API, который появляется.