Skip to content

Conversation

@masv3971
Copy link
Collaborator

adding mdoc support

Copy link
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 pull request adds comprehensive mDoc (ISO 18013-5 Mobile Driving License) support to the credential issuance and verification system. The changes enable the system to handle both SD-JWT and mDoc credential formats within the OpenID4VP flow.

Key Changes:

  • Added mDoc credential creation RPC endpoint to the issuer service
  • Implemented OpenID4VP handlers for both SD-JWT and mDoc formats with automatic format detection
  • Refactored OpenID4VCI proof verification from single Proof object to batch-capable Proofs structure
  • Added comprehensive mDoc package with issuer, verifier, status management, and selective disclosure capabilities

Reviewed changes

Copilot reviewed 61 out of 63 changed files in this pull request and generated no comments.

Show a summary per file
File Description
proto/v1-issuer.proto Added MakeMDoc RPC endpoint for mDoc credential issuance
pkg/openid4vp/sdjwt_handler.go New SD-JWT VP token handler with verification and claim extraction
pkg/openid4vp/sdjwt_handler_test.go Comprehensive tests for SD-JWT handler
pkg/openid4vp/mdoc_handler.go New mDoc VP token handler with CBOR format detection
pkg/openid4vp/mdoc_handler_test.go Tests for mDoc handler including format detection
pkg/openid4vp/claims_extractor.go Updated to support both SD-JWT and mDoc formats
pkg/openid4vci/verify_proof.go Refactored to use new Proofs structure with batch support
pkg/openid4vci/proof_jwt.go New JWT proof type with validation methods
pkg/openid4vci/proof_divp.go New DI_VP proof type implementation
pkg/openid4vci/proof_attestation.go New attestation proof type implementation
pkg/openid4vci/credential.go Updated credential request structure for batch proofs
pkg/mdoc/verifier.go Complete mDoc verification implementation per ISO 18013-5
pkg/mdoc/status.go Status list management for mDoc revocation (JWT/CWT)
pkg/mdoc/selective_disclosure.go Selective disclosure implementation for mDocs
pkg/model/config.go Added MDoc configuration options
metadata/issuer_metadata.json Added pid_1_5_mdoc configuration
internal/issuer/grpcserver/endpoints.go Added MakeMDoc gRPC endpoint handler

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

@leifj
Copy link
Contributor

leifj commented Dec 17, 2025

Suggest we add support for selecting mDoc in the configuration for the SAML and OpenID issuer integration at the same time.

@masv3971 masv3971 merged commit 745460d into main Dec 18, 2025
8 checks passed
@masv3971 masv3971 deleted the masv_issuer-mdoc branch December 18, 2025 08:59
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