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.