Loading app/src/main/java/foundation/e/apps/integrity/IntegrityBinder.kt +8 −2 Original line number Original line Diff line number Diff line Loading @@ -25,6 +25,8 @@ import org.microg.gms.common.api.ReturningGoogleApiCall import org.microg.gms.droidguard.DroidGuardApiClient import org.microg.gms.droidguard.DroidGuardApiClient import java.security.MessageDigest import java.security.MessageDigest const val BASE64_ENCODING_FLAGS = Base64.URL_SAFE or Base64.NO_WRAP // = 10 class IntegrityBinder( class IntegrityBinder( private val context: Context, private val context: Context, private val lifecycleCoroutineScope: LifecycleCoroutineScope, private val lifecycleCoroutineScope: LifecycleCoroutineScope, Loading @@ -51,7 +53,11 @@ class IntegrityBinder( val data = DroidGuardIntegrityRequest.newBuilder() val data = DroidGuardIntegrityRequest.newBuilder() .setPackage(integrityPackage) .setPackage(integrityPackage) .setVersion(versionCode) .setVersion(versionCode) .setNonce(Base64.encodeToString(digest.digest(Base64.decode(nonce, 11)), 11)) .setNonce( Base64.decode(nonce, BASE64_ENCODING_FLAGS) .let { digest.digest(it) } .let { Base64.encodeToString(it, BASE64_ENCODING_FLAGS) } ) .setTimestamp(timestamp) .setTimestamp(timestamp) .build() .build() Loading @@ -77,7 +83,7 @@ class IntegrityBinder( "vc_key" to request.version.version.toString(), "vc_key" to request.version.version.toString(), "nonce_sha256_key" to request.nonce, "nonce_sha256_key" to request.nonce, "tm_s_key" to request.timestamp.seconds.toString(), "tm_s_key" to request.timestamp.seconds.toString(), "binding_key" to Base64.encodeToString(request.toByteArray(), 10) "binding_key" to Base64.encodeToString(request.toByteArray(), BASE64_ENCODING_FLAGS) ) ) } } } } No newline at end of file Loading
app/src/main/java/foundation/e/apps/integrity/IntegrityBinder.kt +8 −2 Original line number Original line Diff line number Diff line Loading @@ -25,6 +25,8 @@ import org.microg.gms.common.api.ReturningGoogleApiCall import org.microg.gms.droidguard.DroidGuardApiClient import org.microg.gms.droidguard.DroidGuardApiClient import java.security.MessageDigest import java.security.MessageDigest const val BASE64_ENCODING_FLAGS = Base64.URL_SAFE or Base64.NO_WRAP // = 10 class IntegrityBinder( class IntegrityBinder( private val context: Context, private val context: Context, private val lifecycleCoroutineScope: LifecycleCoroutineScope, private val lifecycleCoroutineScope: LifecycleCoroutineScope, Loading @@ -51,7 +53,11 @@ class IntegrityBinder( val data = DroidGuardIntegrityRequest.newBuilder() val data = DroidGuardIntegrityRequest.newBuilder() .setPackage(integrityPackage) .setPackage(integrityPackage) .setVersion(versionCode) .setVersion(versionCode) .setNonce(Base64.encodeToString(digest.digest(Base64.decode(nonce, 11)), 11)) .setNonce( Base64.decode(nonce, BASE64_ENCODING_FLAGS) .let { digest.digest(it) } .let { Base64.encodeToString(it, BASE64_ENCODING_FLAGS) } ) .setTimestamp(timestamp) .setTimestamp(timestamp) .build() .build() Loading @@ -77,7 +83,7 @@ class IntegrityBinder( "vc_key" to request.version.version.toString(), "vc_key" to request.version.version.toString(), "nonce_sha256_key" to request.nonce, "nonce_sha256_key" to request.nonce, "tm_s_key" to request.timestamp.seconds.toString(), "tm_s_key" to request.timestamp.seconds.toString(), "binding_key" to Base64.encodeToString(request.toByteArray(), 10) "binding_key" to Base64.encodeToString(request.toByteArray(), BASE64_ENCODING_FLAGS) ) ) } } } } No newline at end of file