Skip to content

feat: display top-level certificate extensions - #170

Merged
danielewood merged 7 commits into
mainfrom
feat/display-certificate-extensions
Mar 11, 2026
Merged

feat: display top-level certificate extensions#170
danielewood merged 7 commits into
mainfrom
feat/display-certificate-extensions

Conversation

@danielewood

Copy link
Copy Markdown
Collaborator

Summary

  • display every top-level X.509 certificate extension in inspect output and verbose verify/connect output
  • resolve well-known extension OIDs with a much broader Apple/vendor registry and vendor-arc fallbacks
  • add coverage for extension collection, formatting, docs, and changelog updates

Testing

  • pre-commit run --all-files
  • gopls check dn.go internal/format.go internal/inspect.go internal/verify.go cmd/certkit/connect.go cmd/certkit/root.go

Copilot AI review requested due to automatic review settings March 11, 2026 03:05

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

Adds visibility into all top-level X.509 certificate extensions across the CLI/library outputs, including human-friendly OID name resolution and critical/unhandled markers.

Changes:

  • Add certkit.CertificateExtension plus CollectCertificateExtensions and a broad extension OID name registry (with vendor-arc fallbacks).
  • Surface extension summaries in inspect output and verbose verify / connect outputs (text + JSON), with new formatting helpers.
  • Add/extend tests and update docs + architecture notes + changelog entry for the new output fields.

Reviewed changes

Copilot reviewed 14 out of 14 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
internal/verify_test.go Adds coverage ensuring verbose verify results include collected extensions (including unhandled critical).
internal/verify.go Populates and formats extension lists in verbose verify output for leaf + chain entries.
internal/inspect_test.go Extends inspect output tests (text + JSON) to assert extension rendering/serialization.
internal/inspect.go Collects and prints extensions for certificate inspect results.
internal/format.go Introduces shared internal formatter for extension blocks/flags (used by inspect/verify).
dn_test.go Adds tests for extension collection and OID-to-name resolution (including vendor fallbacks).
dn.go Adds extension model + OID registry + name resolution + collection helper to the public library.
cmd/certkit/root.go Updates --verbose help text to mention extensions.
cmd/certkit/connect_test.go Extends connect verbose output test to assert extensions are included.
cmd/certkit/connect.go Adds extensions to verbose connect JSON and text output; adds connect-local extension formatting helpers.
README.md Updates global-flag docs to mention extensions in verbose output.
EXAMPLES.md Updates verbose-mode documentation to include extension summaries.
CHANGELOG.md Notes new extension display behavior under Unreleased.
.claude/docs/architecture.md Updates architecture documentation to reflect extension summaries in inspect/verify/connect.

Comment thread CHANGELOG.md
Comment thread cmd/certkit/connect.go Outdated
Copilot AI review requested due to automatic review settings March 11, 2026 04:42
@danielewood
danielewood force-pushed the feat/display-certificate-extensions branch from 6b6eae7 to 06445de Compare March 11, 2026 04:42

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 14 out of 14 changed files in this pull request and generated no new comments.

@danielewood
danielewood merged commit 1d2445f into main Mar 11, 2026
19 checks passed
@danielewood
danielewood deleted the feat/display-certificate-extensions branch March 11, 2026 04:53
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.

2 participants