Skip to content

First pass at HAIP HPKE section#362

Draft
Sakurann wants to merge 4 commits intomainfrom
haip-hpke
Draft

First pass at HAIP HPKE section#362
Sakurann wants to merge 4 commits intomainfrom
haip-hpke

Conversation

@Sakurann
Copy link
Collaborator

@Sakurann Sakurann commented Mar 9, 2026

resolves #356
resolves #357
builds up on #361 (#361 needs to be merged first)

@Sakurann Sakurann changed the title Haip hpke First pass at HAIP HPKE section Mar 9, 2026
@Sakurann Sakurann requested review from GarethCOliver, awoie, bc-pi, c2bo, hlozi, jogu, selfissued, tlodderstedt and tplooker and removed request for jogu March 9, 2026 16:07

Response encryption can be done using JWE with either ECDH-ES or HPKE.

The Wallet MUST determine `alg` header parameter in the `jwks` client metadata parameter and return an `invelid_request` error if it does not support algorithm indicated by the verifier.
Copy link
Contributor

Choose a reason for hiding this comment

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

The Wallet MUST determine the `alg` header parameter for each JWK in the `jwks` client metadata parameter and return an `invalid_request` error if it does not support any of the algorithms supplied by the verifier.

Verifier can pass more than one jwk in the jwks so can indicate support for more than one alg. Wallet should only return an error if it does not support any of them.

Section 8.3 of OpenID4VP does already describe how to obtain the alg parameter and that it must be used. Would be more consistent to just make this error text inside that paragraph as well (as it applies generically to the protocol) and maybe just reference that section from here?

### Response Encryption using HPKE with JWE

Response encryption MUST be performed as specified in [@!OIDF.OID4VP, section 8.3.1]. The JWE `alg` (algorithm) header parameter (see [@!RFC7516, section 4.1.1]) value `HPKE-0` (as defined in [@I-D.ietf-jose-hpke-encrypt]). The JWE `enc` (encryption algorithm) header parameter (see [@!RFC7516, section 4.1.2]) value `A128GCM` (as defined in [@!RFC7518, section 5.3]) MUST be supported by Verifiers and Wallets.
Response encryption MUST be performed as specified in [@!OIDF.OID4VP, section 8.3.1]. The JWE `alg` (algorithm) header parameter (see [@!RFC7516, section 4.1.1]) value `HPKE-0` (as defined in [@I-D.ietf-jose-hpke-encrypt]). `psk_id` (pre-shared key id) header parameter MUST NOT be present. The JWE `enc` (encryption algorithm) header parameter (see [@!RFC7516, section 4.1.2]) value `A128GCM` (as defined in [@!RFC7518, section 5.3]) MUST be supported by Verifiers and Wallets.
Copy link
Contributor

Choose a reason for hiding this comment

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

```Response encryption MUST be performed as specified in [@!OIDF.OID4VP, section 8.3.1] using Integrated Encryption. The JWE alg (algorithm) header parameter (see [@!RFC7516, section 4.1.1]) value `HPKE-0` (as defined in [@I-D.ietf-jose-hpke-encrypt]) MUST be supported by Wallets and Verifiers. `psk_id` (pre-shared key id) header parameter MUST NOT be present.


`enc` parameter MUST NOT be present (see 5.  Integrated Encryption in JOSE-HPKE draft)

Updated language to be consistent with the above section (MUST be support by Wallets/Verifiers rather than detailing what MUST be used. This also allows Verifiers to be compliant and send JWKs with both algs, if they are working across profiles). 


### Response Encryption using HPKE with JWE

Response encryption MUST be performed as specified in [@!OIDF.OID4VP, section 8.3.1]. The JWE `alg` (algorithm) header parameter (see [@!RFC7516, section 4.1.1]) value `HPKE-0` (as defined in [@I-D.ietf-jose-hpke-encrypt]). The JWE `enc` (encryption algorithm) header parameter (see [@!RFC7516, section 4.1.2]) value `A128GCM` (as defined in [@!RFC7518, section 5.3]) MUST be supported by Verifiers and Wallets.
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

need to omit enc.

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.

Profiling JOSE-HPKE for HAIP 1.1 Who HPKE is mandatory / optional for in HAIP 1.1

2 participants