Skip to content

X509 Profile: CRL Support #329

@strideynet

Description

@strideynet

The X509 profile of the SPIFFE Workload API provides the ability for the server to provide the workload with a relevant set of CRLs via the FetchX509Bundles and FetchX509SVID RPCs.

Today, support for this field is omitted from go-spiffe.

Introducing support can occur in two phases:

  1. Introduce support for the field to x509bundle.Set and functions like parseX509BundlesResponse adjusted to copy the CRLs from the response into the Set type. This will expose the CRLs to those using the SDK that today a consumer would need to directly invoke the gRPC client to obtain.
  2. Extend the spiffetls package to enforce revocations present in a CRL. I imagine we'd want to make this enforcement an opt-in feature to begin with. Unfortunately, the TLS implementation as part of the Go standard library does not support natively leveraging a CRL during X509 validation. Hence, we'd need to include this CRL verification as part of our VerifyPeerCertificate callback.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions