ADORSYS-GIS / ADORSYS-GIS/cloud-identity-wallet

[EPIC] Add SD-JWT and ISO mdoc support for credential parsing, validation, and issuance verification

Open
#208 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
4
Forks
0
PR merge metrics
No merged PRs in 30d

Description

Implement support for additional credential formats in the wallet backend, with priority on **SD-JWT VC** and **ISO mdoc**, including parsing, validation, and issuance-time verification of credentials (format + signature).

This EPIC lays the foundation for multi-format credential interoperability and ensures the wallet can securely process, validate, and later present credentials issued in different formats.

Initial focus is on:
- SD-JWT VC (priority)
- ISO mdoc (ISO/IEC 18013-5)

Future extensions may include additional credential formats.

## Goals

- Add first-class support for SD-JWT VC and ISO mdoc formats
- Ensure secure parsing and validation of credentials
- Ensure signature verification at issuance/storage time
- Provide a unified internal abstraction for credential format handling
- Prepare the system for future credential presentation flows
- Ensure OpenAPI and internal models remain extensible

## Scope

This EPIC includes:

- Specification review and design alignment
- Parsing logic for SD-JWT VC and ISO mdoc
- Signature validation mechanisms per format
- Credential format detection strategy
- Integration into issuance flow validation pipeline
- Preparation for storage-layer enforcement of validity

Out of scope (for now):
- Full credential presentation flows
- Advanced selective disclosure UI logic
- Advanced attestation workflows (postponed)

## Objectives

- SD-JWT VC support designed and implemented (priority)
- ISO mdoc support designed and implemented
- Credentials are validated (format + signature) at issuance/storage time
- Unified internal abstraction exists for credential formats
- System is extensible for future formats
- OpenAPI remains consistent with backend capabilities

## Priority

- SD-JWT VC: HIGH
- ISO mdoc: MEDIUM (but required for completeness)

## References

### SD-JWT VC (Priority)
- RFC 9901:
https://www.rfc-editor.org/rfc/rfc9901.html
- SD-JWT VC Draft 16:
https://datatracker.ietf.org/doc/html/draft-ietf-oauth-selective-disclosure-jwt-16

### ISO mdoc
- ISO/IEC 18013-5 (Mobile Driving License / mdoc standard)
- OpenID4VP / OpenID4VCI mdoc profile references:
https://openid.net/specs/

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.