Skip to content

Commit af28974

Browse files
committed
Use different API key for SafetyNet checks
1 parent 0497f7e commit af28974

3 files changed

Lines changed: 8 additions & 22 deletions

File tree

play-services-core/src/main/kotlin/org/microg/gms/ui/SafetyNetPreferencesFragment.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ class SafetyNetPreferencesFragment : PreferenceFragmentCompat() {
4242
runAttest.setIcon(R.drawable.ic_circle_pending)
4343
runAttest.setSummary(R.string.pref_test_summary_running)
4444
val handler = Handler(Looper.myLooper()!!)
45-
SafetyNetClientServiceImpl(context, "com.scottyab.safetynet.sample", lifecycle).attestWithApiKey(object : ISafetyNetCallbacks.Default() {
45+
SafetyNetClientServiceImpl(context, context.packageName, lifecycle).attestWithApiKey(object : ISafetyNetCallbacks.Default() {
4646
override fun onAttestationData(status: Status?, attestationData: AttestationData?) {
4747
handler.post {
4848
if (status?.isSuccess == true) {
@@ -95,15 +95,15 @@ class SafetyNetPreferencesFragment : PreferenceFragmentCompat() {
9595
}
9696
}
9797
}
98-
}, Random.nextBytes(32), "AIzaSyAfcNLBpWkqrt50mluU6GswUmtysmLn9cY")
98+
}, Random.nextBytes(32), "AIzaSyCcJO6IZiA5Or_AXw3LFdaTCmpnfL4pJ-Q")
9999
true
100100
}
101101
runReCaptcha.setOnPreferenceClickListener {
102102
val context = context ?: return@setOnPreferenceClickListener false
103103
runReCaptcha.setIcon(R.drawable.ic_circle_pending)
104104
runReCaptcha.setSummary(R.string.pref_test_summary_running)
105105
val handler = Handler(Looper.myLooper()!!)
106-
SafetyNetClientServiceImpl(context, "com.blogspot.android_er.recaptcha", lifecycle).verifyWithRecaptcha(object : ISafetyNetCallbacks.Default() {
106+
SafetyNetClientServiceImpl(context, context.packageName, lifecycle).verifyWithRecaptcha(object : ISafetyNetCallbacks.Default() {
107107
override fun onRecaptchaResult(status: Status?, recaptchaResultData: RecaptchaResultData?) {
108108
handler.post {
109109
if (status?.isSuccess == true) {
@@ -115,7 +115,7 @@ class SafetyNetPreferencesFragment : PreferenceFragmentCompat() {
115115
}
116116
}
117117
}
118-
}, "6LdMKyUUAAAAAN0ndw7byI03_qpbpjxKY-mTQnLw")
118+
}, "6Lc4TzgeAAAAAJnW7Jbo6UtQ0xGuTKjHAeyhINuq")
119119
true
120120
}
121121
}

play-services-safetynet-core/src/main/java/org/microg/gms/safetynet/Attestation.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -100,9 +100,6 @@ private ByteString getPackageFileDigest() {
100100
try {
101101
return ByteString.of(getPackageFileDigest(context, packageName));
102102
} catch (Exception e) {
103-
if (packageName.equals("com.scottyab.safetynet.sample")) {
104-
return ByteString.decodeHex("66a3b8ff8c9444ec14eee94fa006548c4c7b542d54c27f3b06635e459e77c9a0");
105-
}
106103
Log.w(TAG, e);
107104
return null;
108105
}
@@ -130,9 +127,6 @@ private List<ByteString> getPackageSignatures() {
130127
}
131128
return res;
132129
} catch (Exception e) {
133-
if (packageName.equals("com.scottyab.safetynet.sample")) {
134-
return Collections.singletonList(ByteString.decodeHex("31936c0e1cfc54024c985c4f3eca37f1946f644eabed5232cd4ab2a646a41bc1"));
135-
}
136130
Log.w(TAG, e);
137131
return null;
138132
}

play-services-safetynet-core/src/main/kotlin/org/microg/gms/safetynet/SafetyNetClientService.kt

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -148,22 +148,14 @@ class SafetyNetClientServiceImpl(private val context: Context, private val packa
148148
val packageFileDigest = try {
149149
Base64.encodeToString(Attestation.getPackageFileDigest(context, packageName), Base64.URL_SAFE or Base64.NO_WRAP or Base64.NO_PADDING)
150150
} catch (e: Exception) {
151-
if (packageName == "com.blogspot.android_er.recaptcha") {
152-
"kXkOWm-DT-q__5MnrdyCRLowptdd2PjNA1RAnyQ1A-4"
153-
} else {
154-
callbacks.onRecaptchaResult(Status(SafetyNetStatusCodes.ERROR, e.localizedMessage), null)
155-
return
156-
}
151+
callbacks.onRecaptchaResult(Status(SafetyNetStatusCodes.ERROR, e.localizedMessage), null)
152+
return
157153
}
158154
val packageSignatures = try {
159155
Attestation.getPackageSignatures(context, packageName).map { Base64.encodeToString(it, Base64.URL_SAFE or Base64.NO_WRAP or Base64.NO_PADDING) }
160156
} catch (e: Exception) {
161-
if (packageName == "com.blogspot.android_er.recaptcha") {
162-
listOf("xgEpqm72luj7TLUt7kMxIyN-orV6v03_T_yCkR4A93Y")
163-
} else {
164-
callbacks.onRecaptchaResult(Status(SafetyNetStatusCodes.ERROR, e.localizedMessage), null)
165-
return
166-
}
157+
callbacks.onRecaptchaResult(Status(SafetyNetStatusCodes.ERROR, e.localizedMessage), null)
158+
return
167159
}
168160
params.appendUrlEncodedParam("k", siteKey)
169161
.appendUrlEncodedParam("di", androidId.toString())

0 commit comments

Comments
 (0)