From 9807f89b7188ca3867874a7beaee70490df68383 Mon Sep 17 00:00:00 2001 From: Enginex0 Date: Tue, 10 Mar 2026 12:59:57 +0100 Subject: [PATCH] docs(release): bump to v4.1 with changelog and update metadata versionCode=94 matches post-commit count. --- app/build.gradle.kts | 2 +- module/changelog.md | 10 ++++++++++ module/update.json | 6 +++--- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 30e7962..931bbc1 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -29,7 +29,7 @@ val gitExecutor = objects.newInstance(GitExecutor::class.java) val gitCommitCount = gitExecutor.execute("git rev-list HEAD --count", rootDir).toInt() val gitCommitHash = gitExecutor.execute("git rev-parse --verify --short HEAD", rootDir) -val verName = "v4.0" +val verName = "v4.1" android { namespace = "org.matrix.TEESimulator" diff --git a/module/changelog.md b/module/changelog.md index 73154c1..ce75d2b 100644 --- a/module/changelog.md +++ b/module/changelog.md @@ -1,3 +1,13 @@ +## TEESimulator v4.1: Boot Identity Persistence + +Bugfix release. The vbmeta boot key digest was randomizing on every reboot, producing a different RootOfTrust in attestation certificates each boot. + +On devices where the kernel doesn't set `ro.boot.vbmeta.public_key_digest`, the fallback chain hit random generation every boot because `resetprop` overrides for `ro.boot.*` props don't survive reboots. Added file-based persistence (`boot_hash.bin`, `boot_key.bin`) between the TEE cache and random fallback. Once determined, boot identity values persist across reboots. + +Verified on Redmi 14C: second boot reads from persistent file instead of regenerating. + +--- + ## TEESimulator v4.0: Native Rust Cert Generation Major release. Certificate chain generation rebuilt from the ground up in Rust, replacing the BouncyCastle Java path for EC and RSA keys. Hardened against every known detector app. diff --git a/module/update.json b/module/update.json index 1e1a8a8..c5fd122 100644 --- a/module/update.json +++ b/module/update.json @@ -1,6 +1,6 @@ { - "version": "v4.0", - "versionCode": 89, - "zipUrl": "https://github.com/Enginex0/TEESimulator/releases/download/v4.0/TEESimulator-v4.0-Release.zip", + "version": "v4.1", + "versionCode": 94, + "zipUrl": "https://github.com/Enginex0/TEESimulator/releases/download/v4.1/TEESimulator-v4.1-Release.zip", "changelog": "https://raw.githubusercontent.com/Enginex0/TEESimulator/main/module/changelog.md" }