5.6 KiB
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.