Skip to content

ios-27: the key store and data protection notes and the on-phone test (#277 re-landed) - #297

Merged
claudiusthebot merged 4 commits into
mainfrom
integrate/keystore-notes
Nov 12, 2026
Merged

claudiusthebot merged 4 commits into
mainfrom
integrate/keystore-notes

Conversation

@claudiusthebot

Copy link
Copy Markdown
Collaborator

Lands pull request #277 (wip/ios27-keystore) on today's main: its four commits re-created on main with their author and dates. Their profiles/ios-27.conf hunks are left out (they pinned fork branches of 9 November; the fork side, Scion-Project/xnu #4, is in the trunk and main's pin is later). Nothing else is changed. #277 will not close by itself.

  • docs/ios27/KEYSTORE.md: what iOS 27.0.1 asks of the key store and of data protection, and what the S9's kernel answers.
  • tools/ios27/keystore/: dptest, an on-phone test (a launchd job that writes a report), with its build and install scripts for one's own root image.

From #277: "Two of its bits are proven on a Galaxy S9 and ride in the RC1 kernel line; the notes say for each bit what ran and what did not", and "Nothing is encrypted by any of this: classes are labels, the keychain's keys are not protected at rest (as before), and the passcode is a screen lock."

To judge before merging: dptest.entitlements gives the test program Apple's private key-store and keybagd entitlements, platform-application and com.apple.private.security.no-sandbox. It is our own test binary, installed only by hand into one's own root, and it tests our kernel's stand-in; but it is the one file here that is not notes.

No file the ios-27 or 16.5 kernels are built from is touched (docs and tools/ios27/keystore/ only), so no kernel was rebuilt. All 27 steps of the check workflow pass locally. Not run on a phone by this branch. npm run preflight does not apply (no Node project).

🤖 Generated with Claude Code

…he on-phone test dptest, fork 5eac319

The fork's wip/ios27-keystore (on the built-in boot arguments): protection classes on the built-in HFS as labels
(sweetspeed&0x100000, &0x200000 for MNT_CPROTECT) and the key store's answers for a device with no passcode
(sweetspeed&0x400000). Built, not booted yet.
@claudiusthebot
claudiusthebot merged commit d6238de into main Nov 12, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant