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

Support for Key Rollover #26

Merged
merged 12 commits into from
Dec 6, 2021
Merged

Support for Key Rollover #26

merged 12 commits into from
Dec 6, 2021

Conversation

bellebaum
Copy link
Contributor

This PR addresses issue #25 and adds support for key rollover.

Certificates have to be specified in omejdn.yml.
Their public keys are then distributed via /.well-known/jwks.json, where each key is assigned a kid equal to its certificate's x5t thumbprint.
If an operator does not specify a certificate, a self-signed cert is created with two-day validity for testing purposes.

@bellebaum
Copy link
Contributor Author

Before merging, I will fix a deviation from https://datatracker.ietf.org/doc/html/rfc7517#section-4.7, where certificates in a chain are supposed to appear in an array in x5c

JSON::JWK already implements RFC 7638
@bellebaum
Copy link
Contributor Author

Quick update:
OpenSSL::X509::Certificate currently does not have a function to load certificate chains. This is likely to change in a future update.

For now, I will implement a workaround for manually separating PEM encoded Certificates.

@sonarqubecloud
Copy link

sonarqubecloud bot commented Dec 3, 2021

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 1 Code Smell

No Coverage information No Coverage information
0.0% 0.0% Duplication

@bellebaum bellebaum merged commit 7465460 into master Dec 6, 2021
@bellebaum bellebaum deleted the key_rollover branch December 7, 2021 13:06
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

Successfully merging this pull request may close these issues.

1 participant