feat(oid4vc): mDoc support, OID4VCI 1.0 and DCQL#2871
feat(oid4vc): mDoc support, OID4VCI 1.0 and DCQL#2871burdettadam wants to merge 1 commit intoopenwallet-foundation:mainfrom
Conversation
🔑 Request for Feedback: Key Management, Trust Anchor, and Trust Registry ArchitectureThis PR introduces a new trust infrastructure layer for the Current ArchitectureTrust Anchor Management
Signing Key Management
Signing Key Resolution OrderIn
Verification Flow
Design Decisions We'd Like Feedback On
Any feedback on these points — or anything else in the trust infrastructure — would be greatly appreciated. |
|
@burdettadam This looks great on first glance. Thank you. Answers to the questions from my perspective.
5 and 6. @weiiv can you provide some feedback. Comments:
Has this PR been tested with Bifold (3.0) or Animo Paradym wallet yet? I will try the demo ASAP. Getting some errors on initial start. |
b1109ab to
7df101c
Compare
…efactoring This PR brings the Indicio-tech fork changes into upstream as a single squashed commit with a clean git history. ## Summary - mDoc / mso_mdoc: Full mDoc credential format support using isomdl-uniffi, trust anchor registry, signing key management, status list revocation, and presentation verification - OID4VCI 1.0 Compliance: Token endpoint updated to final spec + HAIP profile, DPoP support, backward compatibility for draft clients, OAuth discovery endpoint - OID4VP / Verification: OID4VP Final with x5c key binding, JAR fixes, did:jwk client_id, UUID4 presentation definition IDs - DCQL: Expanded query language support with multi-credential flows - Routes Refactoring: Split monolithic public_routes.py and routes.py into focused submodules - SD-JWT VC and JWT VC JSON: Selective disclosure fixes, OID4VCI 1.0 pattern alignment - status_list: Endianness fix Note: Demo, integration tests, unit tests, CI workflows, docker files, poetry.lock files, and changes to non-oid4vc plugins are excluded from this PR and will be submitted separately. Signed-off-by: Adam Burdett <burdettadam@gmail.com>
7df101c to
b802b07
Compare
|
@timbl-ont Thank you for the detailed feedback — really helpful context on where things are heading. I've reduced the draft PR to just the core source changes (no demo, integration tests, or CI workflows) to make it easier to review the functional changes in isolation. It sounds like we've diverged a bit on testing strategies — I think we can find common ground once we align on the core implementation direction. Responding to your answers: On HSM support (Q1 & Q4): Good to know PKCS#11 is the target interface. Rather than blocking the core mDoc functionality on that decision, I'm actively updating this draft to introduce a pluggable signing backend interface that allows Key-ID-only storage in Askar and delegates signing to an external HSM — so both models are supported without either blocking the other. On key curves (Q3): Agreed — P-256 is the right default for mDL/AMVAA compliance but import validation should be flexible. I'll add curve validation on import, with Ed25519 as a near-term target and the Longfellow ZKP / post-quantum curves tracked for the future. On immutability (Q2): Makes sense that HSM workflows may require re-import of a certificate against an existing key ID. I'll keep immutable-by-default but add a certificate re-import path. On the attestation PR: Could you share a link to your draft PR? I'd like to track it directly and rebase as needed rather than risk conflicts at merge time. On dPOP: We already have dPOP support wired in. The token endpoint (public_routes/token.py) accepts both On wallet testing: We've had success with Credo and Sphereon. Interoperability always comes with caveats depending on which draft of OID4VCI/OID4VP the wallet implements. Bifold and Paradym are on our list. Action items:
|
This PR brings the Indicio-tech fork changes into upstream as a single squashed commit with a clean git history.
Summary
317 files changed, 60,129 insertions(+), 24,141 deletions(-)