Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introduce integrity block v2 #890

Merged
merged 1 commit into from
Jul 9, 2024
Merged

Introduce integrity block v2 #890

merged 1 commit into from
Jul 9, 2024

Conversation

GrapeGreen
Copy link
Collaborator

This PR changes the format of the integrity block from [magic, version, signatures] to [magic, version, ib_attributes, signatures], where ib_attributes is a map with a single attribute called webBundleId; this field's purpose is to simplify key rotation while having a guarantee that the ID of the web bundle is always stable regardless of the signing keys specified.

The default behavior of the signing tool stays the same, i.e. the following invocation
wbn-sign --input {bundle} -k {key} -o {output}
will continue generating the usual v1 bundles.

With v2, on the contrary, it's now possible to have the bundle signed by multiple signatures in parallel and explicitly call out the exact web-bundle-id:
wbn-sign --version v2 --input {bundle} -k {key1} {key2} {key3} -o {output} --web-bundle-id {id}

Chrome supports both v1 & v2 bundles as of M128.

@GrapeGreen GrapeGreen requested a review from cmfcmf July 8, 2024 14:37
@GrapeGreen GrapeGreen merged commit 4f468dc into WICG:main Jul 9, 2024
9 checks passed
@GrapeGreen GrapeGreen deleted the v2 branch July 9, 2024 10:57
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.

2 participants