Add tests for verifying a C2SP-compliant checkpoint#241
Conversation
|
@jku @loosebazooka Can you test this against your clients? Looks like this is failing for sigstore-python due to this check that each signature line is from the same key. |
The test for a valid checkpoint with a single signature is already tested in the happy path. This adds positive tests for: * A checkpoint with multiple signatures from the log, which could happen when a log has multiple signing algorithms, e.g. for PQC * A checkpoint with a cosignature from a witness * A checkpoint with two cosignatures from different witnesses * A checkpoint with both multiple log signatures and a cosignature * A checkpoint where the log signature is second and a witness signature is first, to check that there are no assumptions on ordering This also adds negative tests for: * Missing origin * Missing size * Missing root hash * Missing log signature I did not add positive tests for a log signed with ECDSA or RSA since we'd need to generate a custom trusted root. Signed-off-by: Hayden B <8418760+haydentherapper@users.noreply.github.com>
2f5d7c9 to
d7dc492
Compare
|
Also if someone already has a python environment set up and could test against sigstore-go, that'd be helpful, otherwise I can get this set up |
|
Also for posterity, here's the script I used to generate these: |
|
sigstore-go (current main branch): 100% pass with this conformance I'll work on the python fix, you have two options for this PR:
|
|
java passes. All the missing fails are with |
Thank you for testing this!
Happy to wait.
A more precise error would be nice but definitely not a high priority. |
This brings in the fix for checkpoint signature lookup Signed-off-by: Jussi Kukkonen <jkukkonen@google.com>
jku
left a comment
There was a problem hiding this comment.
lgtm. I updated the selftest commit hash so selftest should pass now.
|
Thanks all! |
The test for a valid checkpoint with a single signature is already tested in the happy path. This adds positive tests for:
This also adds negative tests for:
I did not add positive tests for a log signed with ECDSA or RSA since we'd need to generate a custom trusted root.
Fixes sigstore/rekor-tiles#182
Summary
Release Note
Documentation