Skip to content

X509 Profile: CRL Support #329

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

Open
strideynet opened this issue Feb 20, 2025 · 0 comments
Open

X509 Profile: CRL Support #329

strideynet opened this issue Feb 20, 2025 · 0 comments

Comments

@strideynet
Copy link
Contributor

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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant