You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/en/credential-issuer-entity-configuration.rst
+3-5Lines changed: 3 additions & 5 deletions
Original file line number
Diff line number
Diff line change
@@ -92,8 +92,8 @@ The *openid_credential_issuer* metadata MUST contain the following claims.
92
92
- URL of the revocation endpoint. See :rfc:`8414#section-2`.
93
93
* - **deferred_credential_endpoint**
94
94
- URL of the deferred credential endpoint, as defined in Section 11.2.3 of `OpenID4VCI`_.
95
-
* - **status_attestation_endpoint**
96
-
- It MUST be an HTTPs URL indicating the endpoint where the Wallet Instances can request Status Assertions. See Section :ref:`credential-revocation:Digital Credential Lifecycle` for more details.
95
+
* - **status_assertion_endpoint**
96
+
- It MUST be an HTTPs URL indicating the endpoint where the Wallet Instances can request Status Assertions. See Section :ref:`credential-revocation:Digital Credential Lifecycle` for more details. (`OAUTH-STATUS-ASSERTION`_ Section 11.1.).
97
97
* - **notification_endpoint**
98
98
- It MUST be an HTTPs URL indicating the notification endpoint. See Section 11.2.3 of [`OpenID4VCI`_].
99
99
* - **authorization_servers**
@@ -135,10 +135,8 @@ The *openid_credential_issuer* metadata MUST contain the following claims.
135
135
- *eudi_wallet*: Member State EUDI Wallet trust framework supported.
136
136
* - **evidence_supported**
137
137
- JSON array containing all types of identity evidence supported by the Credential Issuer. See `OIDC-IDA`_ Section 8. The supported value is ``vouch``.
138
-
* - **status_assertion_endpoint**
139
-
- URL of the Status Assertion Endpoint. See `OAUTH-STATUS-ASSERTION`_ Section 11.1.
140
138
* - **credential_hash_alg_supported**
141
-
- The supported algorithm used by the Wallet Instance to hash the Digital Credential for which the Status Assertion is requested. It is RECOMMENDED to use *sha-256*. See `OAUTH-STATUS-ASSERTION`_ Section 11.1.
139
+
- The supported algorithm used by the Wallet Instance to hash the Digital Credential for which the Status Assertion is requested. It is RECOMMENDED to use *sha-256*. (See `OAUTH-STATUS-ASSERTION`_ Section 11.1.).
Copy file name to clipboardExpand all lines: docs/en/credential-revocation.rst
+52-7Lines changed: 52 additions & 7 deletions
Original file line number
Diff line number
Diff line change
@@ -327,7 +327,7 @@ A Wallet Instance MUST check periodically the validity status of the Digital Cre
327
327
328
328
**Step 1 (Status Assertion Request)**: The Wallet Instance sends the Status Assertion Request to the Credential Issuer, where:
329
329
330
-
- The request MUST contain the base64url encoded hash value of the Digital Credential, for which the Status Assertion is requested, and enveloped in a signed Status Assertion Request object.
330
+
- The request MUST contain the base64url encoded hash value of the Digital Credential's Issuer signed part, such as the Issuer Signed JWT using :ref:`credential-data-model:SD-JWT-VC Credential Format`, or the Mobile Security Object using :ref:`credential-data-model:mdoc-CBOR Credential Format`, for which the Status Assertion is requested, and enveloped in a signed Status Assertion Request object.
331
331
- The Status Assertion Request object MUST be signed with the private key corresponding to the confirmation claim assigned by the Issuer and contained within the Digital Credential.
332
332
333
333
The Status Assertion HTTP request can be sent to a single Credential Issuer regarding multiple Digital Credentials, and MUST contain a JSON object with the member `status_assertion_requests` as described in Section :ref:`credential-revocation:HTTP Status Assertion Request`.
@@ -341,7 +341,7 @@ The Credential Issuer that receives the Status Assertion Request object MUST:
341
341
- creates the corresponding Status Assertion.
342
342
343
343
344
-
**Step 2 (Status Assertion Response)**: The *status_assertion_responses* MUST be a JSON Array containing the *StatusAssertionResponse* and/or the *StatusAssertionErrors* JSON Objects related to the request made by the Wallet Instance.
344
+
**Step 2 (Status Assertion Response)**: The *status_assertion_responses* MUST be an array of strings containing the *StatusAssertionResponse* and/or the *StatusAssertionErrors* JSON Objects related to the request made by the Wallet Instance.
345
345
346
346
The Wallet Instance MUST:
347
347
@@ -526,6 +526,12 @@ The Status Assertion MUST contain the parameters and claims defined below
- Unique identifier of the Issuer JWK. It is REQUIRED when ``x5c`` is not used.
531
+
- [:rfc:`7515`], `OAUTH-STATUS-ASSERTION`_.
532
+
* - **x5c**
533
+
- X.509 certificate chain about the Issuer. It is REQUIRED when ``kid`` is not used.
534
+
- [:rfc:`7515`], `OAUTH-STATUS-ASSERTION`_.
529
535
530
536
.. list-table::
531
537
:class: longtable
@@ -603,8 +609,47 @@ Below a non-normative example of a Status Assertion Response object in JWT forma
603
609
604
610
The Status Assertion Error object MUST contain the following claims:
605
611
606
-
- *error*. The error code, as registered in the table below;
607
-
- *error_description*. Text in human-readable form providing further details to clarify the nature of the error encountered.
612
+
.. list-table::
613
+
:class: longtable
614
+
:widths: 20 60 20
615
+
:header-rows: 1
616
+
617
+
* - **Header**
618
+
- **Description**
619
+
- **Reference**
620
+
* - **alg**
621
+
- A digital signature algorithm identifier such as per IANA "JSON Web Signature and Encryption Algorithms" registry. It MUST be one of the supported algorithms in Section :ref:`Cryptographic Algorithms <algorithms:Cryptographic Algorithms>` and MUST NOT be set to ``none`` or to a symmetric algorithm (MAC) identifier.
622
+
- Section 4.1.1 of [:rfc:`7516`].
623
+
* - **typ**
624
+
- It MUST be set to `status-assertion+jwt`.
625
+
- Section 4.1.11 of [:rfc:`7516`].
626
+
627
+
.. list-table::
628
+
:class: longtable
629
+
:widths: 20 60 20
630
+
:header-rows: 1
631
+
632
+
* - **Payload**
633
+
- **Description**
634
+
- **Reference**
635
+
* - **iss**
636
+
- It MUST be set to the identifier of the Credential Issuer.
637
+
- :rfc:`9126` and :rfc:`7519`.
638
+
* - **jti**
639
+
- Unique identifier for the JWT.
640
+
- :rfc:`9126` and :rfc:`7519`.
641
+
* - **credential_hash**
642
+
- Hash value of the Credential the Status Assertion Error is bound to, it MUST match the one contained in the Status Assertion Request.
643
+
- `OAUTH-STATUS-ASSERTION`_.
644
+
* - **credential_hash_alg**
645
+
- The Algorithm used for hashing the Credential to which the Status Assertion Error is bound, it MUST match the one contained in the Status Assertion Request. The value SHOULD be set to ``sha-256``.
646
+
- `OAUTH-STATUS-ASSERTION`_.
647
+
* - **error**
648
+
- The error code, as registered in the table below.
649
+
- Section 4.1.7 of :rfc:`7519`.
650
+
* - **error_description**
651
+
- Text in human-readable form providing further details to clarify the nature of the error encountered.
652
+
- Section 4.1.7 of :rfc:`7519`.
608
653
609
654
Errors are meant to provide additional information about the failure so that the User can be informed and take the appropriate action.
610
655
The `error` claim for the Status Assertion Error object MUST be set with one of the values defined in the table below, in addition to the values specified in :rfc:`6749#section-5.2`:
@@ -619,11 +664,11 @@ The `error` claim for the Status Assertion Error object MUST be set with one of
619
664
* - ``invalid_request``
620
665
- The request is not valid due to the lack or incorrectness of one or more parameters. (:rfc:`6749#section-5.2`).
621
666
* - ``invalid_request_signature``
622
-
- The Revocation Assertion Request signature validation has failed. This error type is used when the proof of possession of the Digital Credential is found not valid within the Revocation Assertion Request.
667
+
- The Revocation Assertion Request signature validation has failed. This error type is used when the proof of possession of the Digital Credential is found not valid within the Revocation Assertion Request. (Section 9.2 of `OAUTH-STATUS-ASSERTION`_).
623
668
* - ``credential_not_found``
624
-
- The `credential_hash` value provided in the Revocation Assertion Request doesn't match with any active Digital Credential.
669
+
- The `credential_hash` value provided in the Revocation Assertion Request doesn't match with any active Digital Credential. (Section 9.2 of `OAUTH-STATUS-ASSERTION`_).
625
670
* - ``unsupported_hash_alg``
626
-
- The hash algorithm set in `credential_hash_alg` is not supported.
671
+
- The hash algorithm set in `credential_hash_alg` is not supported. (Section 9.2 of `OAUTH-STATUS-ASSERTION`_).
627
672
628
673
Below a non-normative example of a Revocation Assertion Error object in JWT format, with the headers and payload represented in JSON and without applying the signature.
0 commit comments