diff --git a/1.1/openid-4-verifiable-presentations-1_1.md b/1.1/openid-4-verifiable-presentations-1_1.md index 198af1b2..daed756f 100644 --- a/1.1/openid-4-verifiable-presentations-1_1.md +++ b/1.1/openid-4-verifiable-presentations-1_1.md @@ -2889,8 +2889,7 @@ The following is an ISO mdoc specific parameter in the `meta` parameter in a Cre `doctype_value`: : REQUIRED. String that specifies an allowed value for the -doctype of the requested Verifiable Credential. It MUST -be a valid doctype identifier as defined in [@ISO.18013-5]. +doctype of the requested Verifiable Credential. It MUST be a valid doctype identifier as defined in [@ISO.18013-5]. For a mdoc to satisfy the Credential Query, the value of the `docType` element in the `MobileSecurityObject` structure MUST be equal to the `doctype_value`. ### Parameter in the Claims Query {#mdocs_claims_query} @@ -3249,11 +3248,13 @@ The following is a non-normative example of `client_metadata` request parameter The following is an SD-JWT VC specific parameter in the `meta` parameter in a Credential Query as defined in (#credential_query). `vct_values`: -: REQUIRED. A non-empty array of strings that specifies allowed values for -the type of the requested Verifiable Credential. All elements in the array MUST -be valid type identifiers as defined in [@!I-D.ietf-oauth-sd-jwt-vc]. The Wallet -MAY return Credentials that inherit from any of the specified types, following -the inheritance logic defined in [@!I-D.ietf-oauth-sd-jwt-vc]. +: REQUIRED. A non-empty array of strings that specifies allowed values for the type of the requested Verifiable Credential. All elements in the array MUST be valid type identifiers as defined in [@!I-D.ietf-oauth-sd-jwt-vc]. To satisfy the Credential Query, a Credential MUST either have or inherit from a type that is included in the `vct_values` array as defined in [@!I-D.ietf-oauth-sd-jwt-vc]. + +A Credential's type can be determined as satifying the Credential Query as follows: + +1. Check if the `vct` in the Credential is contained in the `vct_values` array. If it is, the Credential satisfies the Credential Query. +1. If `vct` in the Credential is not contained in the `vct_values` array, check if the Credential has an `extends` claim. If it does, repeat this process for the Type metadata specified by the `extends` value, until either a match is found or the `extends` claim is not present. If a circular dependency is detected while following the `extends` claims, the Credential does not satisfy the Credential Query. +1. If none of the above conditions are met, the Credential does not satisfy the Credential Query. ### Presentation Response