Skip to content

Features/crl conformance#38

Merged
jjrdk merged 6 commits intomasterfrom
features/crl-conformance
Apr 9, 2026
Merged

Features/crl conformance#38
jjrdk merged 6 commits intomasterfrom
features/crl-conformance

Conversation

@jjrdk
Copy link
Copy Markdown
Owner

@jjrdk jjrdk commented Apr 9, 2026

Verify conformance to RFC 5280 - Certificate Revocation List (CRL)

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds RFC 5280 CRL conformance coverage to the certserver test suite and updates the CA/certserver implementation to better align CRL encoding, extensions, and endpoint configuration with the spec.

Changes:

  • Introduces a comprehensive CRL conformance feature (Reqnroll scenarios + step implementations) validating RFC 5280 CRL structure, extensions, and HTTP delivery.
  • Updates CRL generation to use the custom CertificateRevocationList builder and improves extension encoding/decoding (CRL number, AKI injection, inner/outer algorithm checks, invalidityDate time encoding).
  • Adds --crl CLI support and test plumbing so issued certificates can include CRL Distribution Points when configured.

Reviewed changes

Copilot reviewed 15 out of 17 changed files in this pull request and generated 10 comments.

Show a summary per file
File Description
tests/opencertserver.certserver.tests/StepDefinitions/CrlConformance.cs Adds step implementations for RFC 5280 CRL conformance scenarios.
tests/opencertserver.certserver.tests/StepDefinitions/CertificateServerFeatures.cs Adds _crlUrls test configuration passed into the test CA setup.
tests/opencertserver.certserver.tests/StepDefinitions/CertificateAuthority.cs Fixes serial number bytes used when removing CRL entries in tests.
tests/opencertserver.certserver.tests/Features/CrlConformance.feature Adds RFC 5280 CRL conformance scenarios (Gherkin).
tests/opencertserver.certserver.tests/Features/CrlConformance.feature.cs Generated Reqnroll glue for the new CRL conformance feature.
tests/opencertserver.certserver.tests/CrlConformance.md Documents CRL conformance assessment and tracked tasks.
tests/opencertserver.ca.tests/CrlTests.cs Updates expectations for CRL extension count (AKI injection).
src/opencertserver.certserver/Program.cs Adds --crl CLI arg parsing and wires CRL URLs into CA configuration.
src/opencertserver.ca/CertificateAuthority.cs Reworks CRL generation to use custom CRL builder and increments CRL number.
src/opencertserver.ca.utils/X509Extensions/X509DeltaCrlIndicatorExtension.cs Enforces deltaCRLIndicator criticality and adjusts number parsing.
src/opencertserver.ca.utils/X509Extensions/X509CrlNumberExtension.cs Switches CRL number to DER INTEGER encoding/decoding.
src/opencertserver.ca.utils/X509Extensions/CertificateExtension.cs Fixes invalidityDate to use GeneralizedTime encoding.
src/opencertserver.ca.utils/RevokedCertificate.cs Fixes revocationTime UTCTime vs GeneralizedTime encoding.
src/opencertserver.ca.utils/EncodingExtensions.cs Improves CRL extension decode mapping (incl. issuerAltName) and refactors switch.
src/opencertserver.ca.utils/CertificateRevocationList.cs Adds AlgorithmIdentifier parameter handling, AKI auto-injection, and inner/outer algorithm OID checks.
.gitignore Minor comment whitespace cleanup + ignores for memory.md / lessons_learned.md.
.github/copilot-instructions.md Adds repo-local Copilot working instructions (memory + lessons learned files).
Files not reviewed (1)
  • tests/opencertserver.certserver.tests/Features/CrlConformance.feature.cs: Language not supported

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread tests/opencertserver.certserver.tests/StepDefinitions/CrlConformance.cs Outdated
Comment thread src/opencertserver.ca/CertificateAuthority.cs
Comment thread src/opencertserver.ca/CertificateAuthority.cs
Comment thread src/opencertserver.certserver/Program.cs
Comment thread src/opencertserver.ca.utils/CertificateRevocationList.cs
Comment thread src/opencertserver.ca.utils/CertificateRevocationList.cs Outdated
… thread-safety, bounds checking

Agent-Logs-Url: https://github.com/jjrdk/opencertserver/sessions/c00d655b-7673-4136-8a95-09d253f503a8

Co-authored-by: jjrdk <149390+jjrdk@users.noreply.github.com>
Copilot finished work on behalf of jjrdk April 9, 2026 12:47
@jjrdk jjrdk merged commit 3f933fc into master Apr 9, 2026
2 checks passed
@jjrdk jjrdk deleted the features/crl-conformance branch April 9, 2026 16:02
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.

3 participants