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

Embed SCTs in issued certificates #507

Merged
merged 4 commits into from
Apr 13, 2022
Merged

Commits on Apr 9, 2022

  1. Embed SCTs in issued certificates

    This adds support for embedding SCTs in certificates instead of
    returning a header with a detached SCTs. This is done by implementing an
    SCT interface for a signer. For example, GCP CA Service will not
    support embedded SCTs, but KMS will.
    
    This heavily leverages the Go CT library. I've removed the custom
    client in favor of the CT library client, which includes more
    verification and retry logic. Note that there's a TODO to include the
    public key of the CT log in Fulcio so that the SCT is checked before
    returning a response.
    
    A certificate is signed twice, which adds an extra remote call to KMS.
    The first certificate is added to the CT log via AddPreChain instead of
    AddChain.
    
    The Cosign client will need to be updated to support embedded SCTs.
    
    Signed-off-by: Hayden Blauzvern <hblauzvern@google.com>
    haydentherapper committed Apr 9, 2022
    Configuration menu
    Copy the full SHA
    f74165a View commit details
    Browse the repository at this point in the history
  2. Convert SCT to AddChainResponse for non-embedded SCT CAs

    This is because Cosign expects an AddChainResponse and not an SCT. The
    new client returns an SCT instead, so we have to manually convert it.
    
    Signed-off-by: Hayden Blauzvern <hblauzvern@google.com>
    haydentherapper committed Apr 9, 2022
    Configuration menu
    Copy the full SHA
    0766220 View commit details
    Browse the repository at this point in the history

Commits on Apr 12, 2022

  1. Fix extra newline in PEM chain

    PEM encoding handles adding a newline.
    
    Signed-off-by: Hayden Blauzvern <hblauzvern@google.com>
    haydentherapper committed Apr 12, 2022
    Configuration menu
    Copy the full SHA
    84e7f26 View commit details
    Browse the repository at this point in the history
  2. Move OIDs into constants, remove extra error check

    Signed-off-by: Hayden Blauzvern <hblauzvern@google.com>
    haydentherapper committed Apr 12, 2022
    Configuration menu
    Copy the full SHA
    36849e6 View commit details
    Browse the repository at this point in the history