Skip to content

Revise checkpoint key ID comment, deprecate log ID #629

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

Merged
merged 1 commit into from
May 8, 2025

Conversation

haydentherapper
Copy link
Collaborator

Our use of log ID assumes that each deployment has a unique key. Additionally, its calculation was based on RFC6962 for CT.

For Rekor v2, we will now follow the C2SP spec to compute key IDs. For ECDSA keys, the log_id value will match. Ed25519 and RSA won't however. Rather than continue to set both of these values, I'd like to deprecate log_id and replace it with checkpoint_key_id for future log deployments.

Also update the base_url comment to state that it should match the log checkpoint origin, which will be true for Rekor v2. Rekor v1 has its own computation for an origin that isn't a valid URL.

Summary

Release Note

Documentation

Copy link
Member

@jku jku left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makes sense to me, left one improvement suggestion but it works as is

Comment on lines 74 to 75
// extract the key name (i.e. log origin, base_url) and 4-byte key ID,
// and compare the key name and key ID against each log instance.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe avoid saying that key name is compared since it seems only the keyid is compared:

Suggested change
// extract the key name (i.e. log origin, base_url) and 4-byte key ID,
// and compare the key name and key ID against each log instance.
// use the key name (i.e. log origin, base_url) and public key to calculate
// key ID which can then be compared against the TrustedRoot log instances

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, incorporated!

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually sorry, I need to revert this partially. The client wouldn't know the log public key yet. The client only has what the checkpoint provides, which is the origin and key ID in the checkpoint signature line. The client can verify that the key ID is properly computed if it wants to after it retrieves the public key from the TrustedRoot, but I don't think that's strictly necessary.

Our use of log ID assumes that each deployment has a unique key.
Additionally, its calculation was based on RFC6962 for CT.

For Rekor v2, we will now follow the C2SP spec to compute key IDs. For
ECDSA keys, the log_id value will match. Ed25519 and RSA won't however.
Rather than continue to set both of these values, I'd like to deprecate
log_id and replace it with checkpoint_key_id for future log deployments.

Also update the base_url comment to state that it should match the log
checkpoint origin, which will be true for Rekor v2. Rekor v1 has its own
computation for an origin that isn't a valid URL.

Signed-off-by: Hayden B <[email protected]>
@haydentherapper haydentherapper merged commit 8b886ff into sigstore:main May 8, 2025
22 checks passed
@haydentherapper haydentherapper deleted the cpkeyid branch May 8, 2025 22:28
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.

3 participants