Open
Conversation
… and update documentation
6194516 to
acf2cf7
Compare
…nd identity crates
…s and W3C VC test cases
eb21ef5 to
3dc688d
Compare
…ts to Postman collection
…uration to OpenAPI
There was a problem hiding this comment.
Pull request overview
This PR adds support for issuing SD-JWT (Selective Disclosure JSON Web Token) credentials to UniCore. The implementation includes a new credential format (dc+sd-jwt), restructures the credential configuration format, removes the SubjectExt trait abstraction, and adds a VCT (Verifiable Credential Type) metadata endpoint.
Changes:
- Added SD-JWT credential format support alongside existing jwt_vc_json format
- Restructured credential configuration from
credential_format_with_parametersto separateformatandtype_fields (breaking change) - Removed
SubjectExttrait, using concreteSubjecttype directly - Added
JwsSignerimplementation forSubjectto support SD-JWT signing - Added VCT metadata endpoint at
/vct/{credential_configuration_id}/{version} - Updated dependencies: openid4vc, identity libraries, iota-sdk, did-manager, product_common
Reviewed changes
Copilot reviewed 30 out of 31 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| agent_shared/src/config/mod.rs | Restructured CredentialConfiguration, added AlgorithmExt trait |
| agent_secret_manager/src/subject.rs | Removed SubjectExt, added JwsSigner implementation |
| agent_issuance/src/credential/aggregate.rs | Added SD-JWT credential creation and signing logic |
| agent_issuance/src/server_config/aggregate.rs | Added VCT URL generation for SD-JWT credentials |
| agent_api_http/src/v0/issuance/ietf_oauth_sd_jwt_vc.rs | New VCT metadata endpoint |
| agent_issuance/src/credential/command.rs | Added proof parameter to SignCredential |
| docs/problem-details/issuance.md | Documented unsupported credential format error |
| Cargo.toml | Updated multiple dependencies to support SD-JWT |
| Test files | Added SD-JWT test fixtures and cases |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
daniel-mader
reviewed
Feb 2, 2026
…expires_at in Credential struct and related events
This was referenced Feb 3, 2026
daniel-mader
approved these changes
Feb 17, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description of change
dc+sd-jwtcredential format alongside existingjwt_vc_json/vct/{credential_configuration_id}/{version}endpoint for SD-JWT VC type metadatacredential_definition(breaking change)Technical Improvements:
Arc<dyn SubjectExt>withArc<Subject>across services for better type safetyBREAKING CHANGE
BREAKING CHANGE:
credential_definitionproperty has been removed from the configuration of Credential Configurations andPOST /0/credential-configurationsendpoint. For Configurations in theconfig.yamlfile change:to:
For requests to the
POST /0/credential-configurationsendpoint, change:{ "credential_configuration_id": "example", "format": "jwt_vc_json", "credential_definition": { "type": ["VerifiableCredential"] } }to:
{ "credential_configuration_id": "example", "format": "jwt_vc_json", "type": ["VerifiableCredential"] }Links to any relevant issues
n/a
How the change has been tested
Added
test_create_unsigned_credential::case_3_dc_sd_jwtunit test.For manual testing, follow these steps:
"SD-JWT"credential configuration:Definition of Done checklist
Add an
xto the boxes that are relevant to your changes.