From 93f2861602aae3e9498cfc6bd6b843a590a63a93 Mon Sep 17 00:00:00 2001 From: Manu Sporny Date: Fri, 29 Dec 2023 14:07:43 -0500 Subject: [PATCH 1/2] Add section on Processing Errors. --- index.html | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 55 insertions(+), 4 deletions(-) diff --git a/index.html b/index.html index 78e4a21..cd57494 100644 --- a/index.html +++ b/index.html @@ -718,12 +718,15 @@

Validate Algorithm

  • Dereference the `statusListCredential` URL, and ensure that all -proofs verify successfully. If the dereference fails, or if any of the proof -verifications fail, return a validation error. +proofs verify successfully. If the dereference fails, raise a +STATUS_RETRIEVAL_ERROR. If any of the +proof verifications fail, raise a +STATUS_VALIDATION_ERROR.
  • -Verify that the |status purpose| matches the -`statusPurpose` value in the |statusListCredential|. +Verify that the |status purpose| is equal to the +`statusPurpose` value in the |statusListCredential|. If the values are not +equal, raise a STATUS_VALIDATION_ERROR.
  • Let |compressed bitstring| be the value of the @@ -813,6 +816,54 @@

    Bitstring Expansion Algorithm

    +
    +

    Processing Errors

    + +

    +The algorithms described in this specification throw specific types of errors. +Implementers might find it useful to convey these errors to other libraries or +software systems. This section provides specific URLs, descriptions, and error +codes for the errors, such that an ecosystem implementing technologies described +by this specification might interoperate more effectively when errors occur. +

    + +

    +When exposing these errors through an HTTP interface, implementers SHOULD use +[[RFC9457]] to encode the error data structure. If [[RFC9457]] is used: +

    + +
      +
    • +The `type` value of the error object MUST be a URL that starts with the value +`https://www.w3.org/ns/credentials/status-list#` and ends with the value in the +section listed below. +
    • +
    • +The `code` value MUST be the integer code described in the table below +(in parentheses, beside the type name). +
    • +
    • +The `title` value SHOULD provide a short but specific human-readable string for +the error. +
    • +
    • +The `detail` value SHOULD provide a longer human-readable string for the error. +
    • +
    + +
    +
    STATUS_RETRIEVAL_ERROR (-128)
    +
    +Retrieval of the status list failed. See Section +. +
    +
    STATUS_VALIDATION_ERROR (-129)
    +
    +Validation of the status entry failed. See Section +. +
    +
    +
    From 6e6d6b963e8f6c62fb5c1a2f792bbefc6c4d0b67 Mon Sep 17 00:00:00 2001 From: Manu Sporny Date: Sat, 13 Jan 2024 12:34:40 -0500 Subject: [PATCH 2/2] Change STATUS_VALIDATION_ERROR to STATUS_VERIFICATION_ERROR. --- index.html | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/index.html b/index.html index cd57494..04b5f2c 100644 --- a/index.html +++ b/index.html @@ -721,12 +721,13 @@

    Validate Algorithm

    proofs verify successfully. If the dereference fails, raise a STATUS_RETRIEVAL_ERROR. If any of the proof verifications fail, raise a -STATUS_VALIDATION_ERROR. +STATUS_VERIFICATION_ERROR.
  • Verify that the |status purpose| is equal to the `statusPurpose` value in the |statusListCredential|. If the values are not -equal, raise a STATUS_VALIDATION_ERROR. +equal, raise a +STATUS_VERIFICATION_ERROR.
  • Let |compressed bitstring| be the value of the @@ -857,7 +858,7 @@

    Processing Errors

    Retrieval of the status list failed. See Section . -
    STATUS_VALIDATION_ERROR (-129)
    +
    STATUS_VERIFICATION_ERROR (-129)
    Validation of the status entry failed. See Section .