Skip to content

v2.2.0#529

Merged
peppelinux merged 20 commits intomainfrom
dev
Mar 11, 2026
Merged

v2.2.0#529
peppelinux merged 20 commits intomainfrom
dev

Conversation

@peppelinux
Copy link
Member

@peppelinux peppelinux commented Mar 3, 2026

This pull request introduces several improvements:

  • feat(openid4vci): bind access and refresh tokens to DPoP key (RFC 9449)
  • feat(openid4vci): reject PAR jti replay (RFC 9126)
  • feat(openid4vci): verify key_attestation (WUA) in credential proof when present
  • doc(openid4vci): document OpenID Federation integration for trust evaluation
  • feat(openid4vp): validate mdoc SessionTranscript for OpenID4VP profile (ISO 18013-7)
  • feat: openid4vci add proof jwt specific checks

It also brings the following ones:

Documentation and Protocol Support:

  • Added a comprehensive protocol compliance checklist for OpenID4VCI and OpenID4VP, detailing supported and unsupported features according to the Italian Wallet implementation profile in the README.md.
  • Clarified the use and meaning of the default_acr_value in authorization configuration, emphasizing its role as an IdP fallback and not part of OpenID4VP.
  • Documented the new proof_jwt_required configuration option for credential endpoints, specifying its behavior and defaults.
  • Added explanation of OpenID Federation trust evaluation in the credential issuer documentation.

Configuration and Integration Test Updates:

  • Introduced the proof_jwt_required flag in integration_test/conf/openid4vci_frontend.yaml to control proof JWT requirements at the credential endpoint.
  • Removed the scopes field from backend configuration in test files, aligning with updated claim handling logic. [1] [2]
  • Removed redundant or misplaced security configuration sections from backend test configs.

Codebase Refactoring and Improvements:

  • Refactored imports of BaseVPParser from internal SATOSA backend modules to a centralized location in pyeudiw.credential_presentation.base_vp_parser for better modularity and testability. [1] [2] [3]
  • Moved the MissingHandler exception to a new dedicated module, improving error handling in DCQL parsing. [1] [2]
  • Simplified the handling of vp_token and presentation_submission in authorization response parsing, focusing on DCQL flow requirements and improving robustness for varying input formats. [1] [2]
  • Removed unused or redundant fields from test helpers and configuration. [1] [2]

GitHub Actions Workflow Enhancements:

  • Improved the security-audit.yml workflow to skip duplicate runs using the fkirc/skip-duplicate-actions action, reducing unnecessary CI runs.
  • Removed the deprecated concurrency group configuration from both python-app.yml and security-audit.yml workflows. [1] [2]

Documentation Acknowledgments:

  • Added M&Ms to the acknowledgments section in the README.md.

  • Updated the version number to 2.2.0 in pyeudiw/__init__.py.

manpace and others added 4 commits February 17, 2026 13:04
 - removed private jwks from EC
 - added federation jwks to EC
- update dependencies with vulnerabilities
- mock aligned in tests with the correct jwks structure
…ty-vulnerability

Fix Private Key Exposure in JWKS
@peppelinux peppelinux marked this pull request as draft March 3, 2026 17:30
…dd protocol support recap to README

- PAR endpoint: reject requests containing request_uri parameter per RFC 9126
- Add unit test for request_uri rejection
- Add Protocol Support Recap section to README with checkboxes for:
  - OpenID4VCI: supported features and batch/deferred marked as not supported
  - OpenID4VP: supported features and transaction_data marked as not supported
When DPoP is required, include cnf.jkt (JWK thumbprint) in both access
and refresh tokens to cryptographically bind them to the DPoP key.
@peppelinux peppelinux marked this pull request as ready for review March 11, 2026 14:55
@peppelinux peppelinux merged commit 1247bcd into main Mar 11, 2026
15 checks passed
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