Files
philips-tv-speicher-voll/patches/phase7/SIGNER-MATRIX.md

5.6 KiB
Raw Blame History

Phase 7A – Signing inventory

Stand: 2026-08-26, Gerät TPM191E_R.211.000.103.000. Die APK-Hashes wurden lokal berechnet und gegen die read-only Live-Pfade geprüft. Package- Metadaten stammen aus dumpsys package; Zertifikate aus den APK-Signaturdaten.

Ergebnis

Die drei Patchziele Channels, GEL und TPTvService sowie Androids framework-res.apk, EUM, Settings, OAD, USBService und SettingsProxy sind mit demselben kryptografischen Platform Signer signiert. Der PackageManager meldet für sie dieselbe Signer-ID [476d2253] und Signing-Version 3. Das OTA-/Recovery-Zertifikat in /system/etc/security/otacerts.zip ist ein zweites, verschiedenes Zertifikat. Beide privaten Schlüssel fehlen.

APK-Matrix

Platform bezeichnet den unten vollständig ausgewiesenen Zertifikat-Fingerprint. Alle geprüften APKs tragen JAR/v1-Signaturen sowie APK-Signing-Block v2 und v3. Eine v4-.idsig-Sidecar-Datei wurde an keinem Systempfad beobachtet; v4 ist daher nicht belegt (nicht gleichbedeutend mit einer eingebetteten v4- Signatur). Priv. bedeutet Installation unter priv-app.

Package / Rolle Aktiver APK-Pfad APK SHA-256 Signer v1/v2/v3/v4 UID / sharedUser Priv. Relevante Vertrauensrechte
android /system/framework/framework-res.apk d50a2ad1caa5c6e95ee1540d798150f40246f20c90d3a0d9371c58b541a27508 Platform ja/ja/ja/nicht belegt 1000 / android.uid.system n/a definiert Plattform-/Signaturgrenze
org.droidtv.channels /system/priv-app/channels/channels.apk 3a44bc648624f0cc9cd9feb4cfc3fd33f41323597718e4fccfc25fe35504d34f Platform ja/ja/ja/nicht belegt 1000 / android.uid.system ja EPG/TV-Provider, Shared-UID-Union, privileged
org.droidtv.gel /system/app/gel/gel.apk 29a68e6b09700ed4ccdf312c0b99eee0c3f67e329a537fe87ed4341a71d383d7 Platform ja/ja/ja/nicht belegt 1000 / android.uid.system nein Shared-UID-Union, interne Philips-Schnittstellen
org.droidtv.tv.tptvservice /system/app/TPTvService/TPTvService.apk 75f492ee89906c8c267d685d2b7d0ce02bb09f3a6b4cc8456f8b096b9e441ecd Platform ja/ja/ja/nicht belegt 1000 / android.uid.system nein persistent/coreApp, Shared-UID-Union
org.droidtv.eum /system/priv-app/eum/eum.apk 3b27806ac60b946c47ccac1be7edad46938cae10c43c3f2e1f3ef4f9d2d30b98 Platform ja/ja/ja/nicht belegt 10119 / kein Shared UID ja privileged/signature Plattformrechte
org.droidtv.settings /system/priv-app/settings/settings.apk bf63a78bae8259032144598927c2fe8af19005662de2cc0053db2a1f7918a348 Platform ja/ja/ja/nicht belegt 1000 / android.uid.system ja SilentUpgrade/TVUpdate, persistent, privileged
org.droidtv.oad /system/priv-app/oad/oad.apk 3d4ba64ce6d3e4b6c8c65ff5411b4058aeb239c95ac15dd806e15c1d991842f9 Platform ja/ja/ja/nicht belegt 1000 / android.uid.system ja OAD/TV-Upgrade-Integration
com.easy.oad /system/app/btota/btota.apk 8fcd51ba44e1f3188c06d01615dde274c652f8caacfd14c3ae7db16a266e4101 Platform ja/ja/ja/nicht belegt 1000 / android.uid.system nein Bluetooth-/Remote-OTA, nicht Hauptfirmware
org.droidtv.usbbreakin /system/app/USBService/USBService.apk a34edfa8345ba4b7513ef648a7c0ffaf40945359e7bb951fbbef3c98d6c612bb Platform ja/ja/ja/nicht belegt 1000 / android.uid.system nein USB-Service, persistent
org.droidtv.common.accesshiddenapi /system/app/settingsproxyservice/settingsproxyservice.apk e0e966babadd77f6fc8d71af05cd58c74e5a7a16a4ad6abd664b5625c0508b7e Platform ja/ja/ja/nicht belegt 1000 / android.uid.system nein Hidden-API-/Settings-Proxy

Platform-Signer-Zertifikat

  • Subject/Issuer (self-signed): EMAILADDRESS=android@android.com, CN=Android, OU=Android, O=Android, L=Mountain View, ST=California, C=US
  • Serial: 9e71a5645c4fc22f
  • SHA-256: D8:FF:E0:AF:40:4E:AB:8E:45:5A:00:74:D4:17:B0:DA:12:D0:67:26:E5:05:B0:2B:7F:DB:18:31:29:C8:90:68
  • SHA-1: 43:80:01:76:AC:53:BF:E9:FD:33:4A:EB:86:1D:40:A1:2A:00:AF:C0
  • Schlüssel/Signatur: RSA-2048, SHA1withRSA, X.509 v3
  • Gültigkeit: 2015-08-10 05:01:32 CEST bis 2042-12-26 04:01:32 CET

Der generische Subject-Text Android ist kein Identitätsbeweis. Entscheidend ist der vollständige kryptografische Fingerprint beziehungsweise eine vom PackageManager akzeptierte Signer-Lineage. Ein gleichnamiges neues Zertifikat ist inkompatibel.

OTA-/Recovery-Zertifikat

/system/etc/security/otacerts.zip enthält releasekey.x509.pem mit SHA-256 E0:18:AB:2F:96:83:8E:B4:B7:B9:1A:D1:12:0B:C6:74:90:F7:E1:01:0F:D4:0C:1A:E5:1E:C4:F8:B1:2A:A0:F8. Es ist nicht das APK-Platform-Zertifikat. Details stehen in certificates.txt. Das Zertifikat allein erlaubt weder APK- noch OTA-Signing; der jeweilige private Schlüssel ist erforderlich und wurde nicht gesucht.

tvfw.jar

/system/framework/tvfw.jar (SHA-256 a0061795d87cf76c9b739e32022ab3d8c29f47ed01ddc1eee189dd815a8d11ad) ist kein APK und besitzt keine JAR-Signatur. Seine Vertrauensgrenze entsteht durch die AVB-geschützte Systempartition, SELinux/Dateimetadaten, den registrierten Java-Shared-Library-Pfad und ART-Preopt. Die oben gelisteten Platform-signed Philips-Clients laden die Library; ein unsigniertes JAR ist deshalb nicht frei austauschbar.

Grenzen

  • Kein privater Schlüssel wurde gesucht, extrahiert oder rekonstruiert.
  • Eine PM-Signer-ID ist geräteintern; die X.509-SHA-256 ist der portable Beleg.
  • Nicht jede einzelne Permission aller 58 UID1000-Pakete wird hier einem Paket zugerechnet: Shared-UID-Prozesse wirken über die gemeinsame UID- und Signaturgrenze. Die vollständige Beziehung steht in TRUST-GRAPH.md.