Skip to content

Add support for release attestations #1548

@steiza

Description

@steiza

Description

We are working on adding an in-toto predicate for release attestations.

There have been discussions about what information should live in Fulcio code signing certificate OIDs vs in the in-toto attestation, and in those discussions @trishankatdatadog asked about how Fulcio might support release attestations.

Today many of the workload identity providers in Fulcio's config IssuerType correspond to the provenance predicate (like IssuerTypeBuildkiteJob, IssuerTypeGithubWorkflow, and IssuerTypeGitLabPipeline). End users are the ones creating in-toto attestation documents with the provenance predicate, and as a result the issued Fulcio code signing certificate contains many properties from the build platform in OIDs, so the user-contributed information in the in-toto attestation document can be verified. Adding a new platform can be a fair amount of work as we map properties from that platform to the OIDs (see https://github.com/sigstore/fulcio/blob/main/docs/oid-info.md).

But release attestations aren't directly accessible to end-users, and so we don't need to encode any information in OIDs. It should be fairly straightforward to add a generic IssuerTypeRelease, and then we could onboard platforms that issue release attestations with a configuration change.

If this sounds reasonable to folks, I'm happy to post a draft PR with implementation details.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions