Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b8c592e4 authored by Jonathan Klee's avatar Jonathan Klee Committed by Mohammed Althaf T
Browse files

Spoof signingInfo for microG



Spoof PackageInfo signingInfo + signatures so that G suite apps
does not complain anymore.

Change-Id: Iaaa52778aa5f9dc6798b8c40c8d434394682d3e8
Signed-off-by: default avataralthafvly <althafvly@gmail.com>
parent 2870ccea
Loading
Loading
Loading
Loading
+13 −8
Original line number Diff line number Diff line
@@ -161,6 +161,7 @@ import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintWriter;
import java.nio.charset.StandardCharsets;
import java.security.cert.CertificateException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
@@ -1698,14 +1699,18 @@ public class ComputerEngine implements Computer {
            if (isSystemApp(packageInfo.applicationInfo)) {
                generateFakeSignature(p).ifPresent(fakeSignature -> {
                    packageInfo.signatures = new Signature[]{fakeSignature};
                    try {
                        packageInfo.signingInfo = new SigningInfo(
                                new SigningDetails(
                                    new Signature[] {fakeSignature},
                                        packageInfo.signatures,
                                        SigningDetails.SignatureSchemeVersion.SIGNING_BLOCK_V3,
                                    null,
                                        SigningDetails.toSigningKeys(packageInfo.signatures),
                                        null
                                )
                        );
                    } catch (CertificateException e) {
                        Slog.e(TAG, "Caught an exception when creating signing keys: ", e);
                    }
                });
            }