Skip to content

credential issuers establishing trust with wallet providers - #58

Open
peppelinux wants to merge 1 commit into
mainfrom
issuer-provider-trust
Open

credential issuers establishing trust with wallet providers#58
peppelinux wants to merge 1 commit into
mainfrom
issuer-provider-trust

Conversation

@peppelinux

Copy link
Copy Markdown
Member

this PR aims to resolve #29

@TimoGlastra ^

Terminology — Wallet Attestation and Key Attestation now cite OpenID4VCI (not OpenID4VP).

Credential Issuers Establishing Trust in the Wallet Provider — Clarified trust_chain validation for attestations; tied signer to openid_wallet_provider.

Credential Issuers Establishing Trust in the Wallet — Rewrote into:

Wallet Attestation → OpenID4VCI Appendix E + Attestation-Based Client Auth (PAR/Token, PoP, federation key validation, trust_chain SHOULD)
Key Attestation → OpenID4VCI Appendix D/F, §8.2, §12.2.4 (proof_types_supported / key_attestations_required)
Framing via OpenID4VCI §13.3
Offline Flows — Wallet and Key Attestations called out as carriers of Federation trust_chain.

References — Added I-D.ietf-oauth-attestation-based-client-auth.

Document History (-05) — Noted the #29 resolution.
@peppelinux
peppelinux requested review from rohe and selfissued July 20, 2026 13:07
During the issuance phase, the Wallet Instance authenticates with the Credential Issuer using a Client authentication mechanism that includes a proof issued by its Wallet Provider.
During Credential issuance, establishing trust in the Wallet comprises two related but distinct evaluations, as described in Section 13.3 of [@!OpenID4VCI] (*Trust between Wallet and Issuer*):

1. Trust in the Wallet Solution / Wallet Instance authenticity, using Wallet Attestation as client authentication; and

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
1. Trust in the Wallet Solution / Wallet Instance authenticity, using Wallet Attestation as client authentication; and
1. Trust in the Wallet Solution / Wallet Instance authenticity, using the Wallet Attestation as client authentication; and

During Credential issuance, establishing trust in the Wallet comprises two related but distinct evaluations, as described in Section 13.3 of [@!OpenID4VCI] (*Trust between Wallet and Issuer*):

1. Trust in the Wallet Solution / Wallet Instance authenticity, using Wallet Attestation as client authentication; and
2. When required, trust in the cryptographic key material and its protection properties, using Key Attestation in the Credential Request.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
2. When required, trust in the cryptographic key material and its protection properties, using Key Attestation in the Credential Request.
2. When required, trust in the cryptographic key material and its protection properties, using the Key Attestation in the Credential Request.


### Wallet Attestation

During the issuance phase, the Wallet Instance authenticates with the Credential Issuer's Authorization Server using Wallet Attestation as defined in Appendix E of [@!OpenID4VCI], following OAuth 2.0 Attestation-Based Client Authentication [@!I-D.ietf-oauth-attestation-based-client-auth]. The Wallet Attestation is a Client Attestation JWT issued by the Wallet Provider. The Wallet Instance MUST also present a Client Attestation Proof of Possession (PoP) JWT proving control of the key confirmed in the `cnf` claim of that attestation, as specified in [@!I-D.ietf-oauth-attestation-based-client-auth].

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
During the issuance phase, the Wallet Instance authenticates with the Credential Issuer's Authorization Server using Wallet Attestation as defined in Appendix E of [@!OpenID4VCI], following OAuth 2.0 Attestation-Based Client Authentication [@!I-D.ietf-oauth-attestation-based-client-auth]. The Wallet Attestation is a Client Attestation JWT issued by the Wallet Provider. The Wallet Instance MUST also present a Client Attestation Proof of Possession (PoP) JWT proving control of the key confirmed in the `cnf` claim of that attestation, as specified in [@!I-D.ietf-oauth-attestation-based-client-auth].
During the issuance phase, the Wallet Instance authenticates with the Credential Issuer's Authorization Server using Wallet Attestation as defined in Appendix E of [@!OpenID4VCI], following OAuth 2.0 Attestation-Based Client Authentication [@!I-D.ietf-oauth-attestation-based-client-auth]. The Wallet Attestation is a Client Attestation JWT issued by the Wallet Provider. The Wallet Instance MUST also present a Client Attestation Proof of Possession (PoP) JWT proving control of the confirmation key in the `cnf` claim of that attestation, as specified in [@!I-D.ietf-oauth-attestation-based-client-auth].

@selfissued selfissued left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great! Please apply my minor editorial suggestions.

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.

Credential Issuers Establishing Trust in the Wallet

2 participants