Skip to content

WIP: GOBL Net verify and certify process#785

Open
samlown wants to merge 3 commits intomainfrom
net
Open

WIP: GOBL Net verify and certify process#785
samlown wants to merge 3 commits intomainfrom
net

Conversation

@samlown
Copy link
Copy Markdown
Collaborator

@samlown samlown commented Apr 5, 2026

  • Starting an initial process for verification of signers using JSON Web Key Set lookups.
  • Moves some of the logic of signing and verification in Envelope to the Header.
  • New net package defines all the logic to handle lookups of public keys to the GOBL host name plus /.well-known/gobl/jwks.json.
  • Supports chained signing, so that the jwks.json itself can be signed by another authority, such as GOBL Net itself.

Pre-Review Checklist

  • Opened this PR as a draft
  • Read the CONTRIBUTING.md guide.
  • Performed a self-review of my code.
  • Added thorough tests with at least 90% code coverage.
  • Modified or created example GOBL documents to show my changes in use, if appropriate.
  • Added links to the source of the changes in tax regimes or addons, either structured or in the comments.
  • Run go generate . to ensure that the Schemas and Regime data are up to date.
  • Reviewed and fixed all linter warnings.
  • Been obsessive with pointer nil checks to avoid panics.
  • Updated the CHANGELOG.md with an overview of my changes.
  • Marked this PR as ready for review.

And if you are part of the org:

  • Requested a review from Copilot and fixed or dismissed (with a reason) all the feedback raised.
  • Requested a review from @samlown.

@samlown samlown force-pushed the mcp branch 2 times, most recently from 4db8d55 to 6c556d8 Compare April 7, 2026 22:17
Base automatically changed from mcp to rules April 8, 2026 11:23
Base automatically changed from rules to main April 13, 2026 16:27
@codecov
Copy link
Copy Markdown

codecov bot commented Apr 16, 2026

Codecov Report

❌ Patch coverage is 58.71212% with 109 lines in your changes missing coverage. Please review.
✅ Project coverage is 92.64%. Comparing base (72beee4) to head (0336766).

Files with missing lines Patch % Lines
head/header.go 0.00% 29 Missing ⚠️
net/keyset.go 71.64% 11 Missing and 8 partials ⚠️
net/client.go 65.30% 16 Missing and 1 partial ⚠️
net/verify.go 73.58% 7 Missing and 7 partials ⚠️
internal/cli/verify.go 0.00% 12 Missing ⚠️
cmd/gobl/verify.go 22.22% 6 Missing and 1 partial ⚠️
dsig/key.go 0.00% 5 Missing ⚠️
dsig/signature.go 66.66% 2 Missing and 2 partials ⚠️
net/authorities.go 0.00% 2 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #785      +/-   ##
==========================================
- Coverage   93.09%   92.64%   -0.46%     
==========================================
  Files         368      373       +5     
  Lines       19624    19871     +247     
==========================================
+ Hits        18269    18409     +140     
- Misses        919     1008      +89     
- Partials      436      454      +18     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

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