Skip to content

Commit

Permalink
Allow spoofing signingInfo for microG Companion/Services
Browse files Browse the repository at this point in the history
- Spoof PackageInfo signingInfo + signatures so that
  G suite apps do not complain anymore.

Change-Id: I86f182c9e1d18b0e997803842577a90ef740cfd1
Signed-off-by: althafvly <althafvly@gmail.com>
  • Loading branch information
jonathanklee authored and luca020400 committed Dec 16, 2024
1 parent 39d16e1 commit 2df219d
Showing 1 changed file with 13 additions and 0 deletions.
13 changes: 13 additions & 0 deletions services/core/java/com/android/server/pm/ComputerEngine.java
Original file line number Diff line number Diff line change
Expand Up @@ -168,6 +168,7 @@
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.Arrays;
import java.util.Collection;
Expand Down Expand Up @@ -1588,6 +1589,18 @@ public final PackageInfo generatePackageInfo(PackageStateInternal ps,

generateFakeSignature(p).ifPresent(fakeSignature -> {
packageInfo.signatures = new Signature[]{fakeSignature};
try {
packageInfo.signingInfo = new SigningInfo(
new SigningDetails(
packageInfo.signatures,
SigningDetails.SignatureSchemeVersion.SIGNING_BLOCK_V3,
SigningDetails.toSigningKeys(packageInfo.signatures),
null
)
);
} catch (CertificateException e) {
Slog.e(TAG, "Caught an exception when creating signing keys: ", e);
}
});

return packageInfo;
Expand Down

0 comments on commit 2df219d

Please sign in to comment.