Skip to content

verifier_tools/verify: Add 2026/01 shard target for google_1p_code log - #30

Merged
billy-lau merged 1 commit into
android:mainfrom
billy-lau:verifier/support-shard
Sep 23, 2026
Merged

billy-lau merged 1 commit into
android:mainfrom
billy-lau:verifier/support-shard

Conversation

@billy-lau

Copy link
Copy Markdown
Member

Previously, --log_type=google_1p_code only targeted the legacy log at developers.google.com/android/binary_transparency/google1p (frozen at tree size 134), causing verification to fail for entries published to the active 2026/01 shard (gstatic.com/android/binary_transparency/google1p/jwt/2026/01).

Update google_1p_code verification to cover both shards:

  1. Add gstatic.com/android/binary_transparency/google1p/jwt/0 to the supported checkpoint origins in internal/checkpoint/checkpoint.go.
  2. Configure google_1p_code (2026/01) as the primary target in cmd/verifier/verifier.go with tileHeight: 8 and verifier key name gstatic.com/android/binary_transparency/google1p/jwt/0 (using the embedded log_pub_key.google_system_apk.pem public key).
  3. Retain google_1p_code (legacy) (tileHeight: 1) as a fallback target so entries from the original log continue to verify.

Test:

  • cd verifier_tools/verify && go test -v ./...
  • Added cmd/verifier/verifier_test.go (TestResolveTargetsGoogle1PCode and TestGoogle1PCodeCheckpointSignatureVerification) as well as test cases in checkpoint_test.go and reader_test.go.
  • Verified inclusion proof against both 2026/01 and legacy google_1p_code log entries.

Change-Id: I270e6a356b646659cfe645d0006fd006d5c0b9e1

Previously, `--log_type=google_1p_code` only targeted the legacy log at
`developers.google.com/android/binary_transparency/google1p` (frozen at
tree size 134), causing verification to fail for entries published to the
active `2026/01` shard (`gstatic.com/android/binary_transparency/google1p/jwt/2026/01`).

Update `google_1p_code` verification to cover both shards:
1. Add `gstatic.com/android/binary_transparency/google1p/jwt/0` to the
   supported checkpoint origins in `internal/checkpoint/checkpoint.go`.
2. Configure `google_1p_code (2026/01)` as the primary target in
   `cmd/verifier/verifier.go` with `tileHeight: 8` and verifier key name
   `gstatic.com/android/binary_transparency/google1p/jwt/0` (using the
   embedded `log_pub_key.google_system_apk.pem` public key).
3. Retain `google_1p_code (legacy)` (`tileHeight: 1`) as a fallback
   target so entries from the original log continue to verify.

Test:
- `cd verifier_tools/verify && go test -v ./...`
- Added `cmd/verifier/verifier_test.go` (`TestResolveTargetsGoogle1PCode`
  and `TestGoogle1PCodeCheckpointSignatureVerification`) as well as test
  cases in `checkpoint_test.go` and `reader_test.go`.
- Verified inclusion proof against both `2026/01` and legacy
  `google_1p_code` log entries.

Change-Id: I270e6a356b646659cfe645d0006fd006d5c0b9e1
@billy-lau
billy-lau merged commit ba188db into android:main Sep 23, 2026
7 checks passed
@billy-lau
billy-lau deleted the verifier/support-shard branch September 23, 2026 14:59
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