Skip to content

Commit 93f2861

Browse files
committed
Add section on Processing Errors.
1 parent 882b52f commit 93f2861

File tree

1 file changed

+55
-4
lines changed

1 file changed

+55
-4
lines changed

index.html

Lines changed: 55 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -718,12 +718,15 @@ <h3>Validate Algorithm</h3>
718718
</li>
719719
<li>
720720
Dereference the `statusListCredential` URL, and ensure that all
721-
proofs verify successfully. If the dereference fails, or if any of the proof
722-
verifications fail, return a validation error.
721+
proofs verify successfully. If the dereference fails, raise a
722+
<a href="#STATUS_RETRIEVAL_ERROR">STATUS_RETRIEVAL_ERROR</a>. If any of the
723+
proof verifications fail, raise a
724+
<a href="#STATUS_VALIDATION_ERROR">STATUS_VALIDATION_ERROR</a>.
723725
</li>
724726
<li>
725-
Verify that the |status purpose| matches the
726-
`statusPurpose` value in the |statusListCredential|.
727+
Verify that the |status purpose| is equal to the
728+
`statusPurpose` value in the |statusListCredential|. If the values are not
729+
equal, raise a <a href="#STATUS_VALIDATION_ERROR">STATUS_VALIDATION_ERROR</a>.
727730
</li>
728731
<li>
729732
Let |compressed bitstring| be the value of the
@@ -813,6 +816,54 @@ <h3>Bitstring Expansion Algorithm</h3>
813816
</ol>
814817
</section>
815818

819+
<section class="normative">
820+
<h3>Processing Errors</h3>
821+
822+
<p>
823+
The algorithms described in this specification throw specific types of errors.
824+
Implementers might find it useful to convey these errors to other libraries or
825+
software systems. This section provides specific URLs, descriptions, and error
826+
codes for the errors, such that an ecosystem implementing technologies described
827+
by this specification might interoperate more effectively when errors occur.
828+
</p>
829+
830+
<p>
831+
When exposing these errors through an HTTP interface, implementers SHOULD use
832+
[[RFC9457]] to encode the error data structure. If [[RFC9457]] is used:
833+
</p>
834+
835+
<ul>
836+
<li>
837+
The `type` value of the error object MUST be a URL that starts with the value
838+
`https://www.w3.org/ns/credentials/status-list#` and ends with the value in the
839+
section listed below.
840+
</li>
841+
<li>
842+
The `code` value MUST be the integer code described in the table below
843+
(in parentheses, beside the type name).
844+
</li>
845+
<li>
846+
The `title` value SHOULD provide a short but specific human-readable string for
847+
the error.
848+
</li>
849+
<li>
850+
The `detail` value SHOULD provide a longer human-readable string for the error.
851+
</li>
852+
</ul>
853+
854+
<dl>
855+
<dt id="STATUS_RETRIEVAL_ERROR">STATUS_RETRIEVAL_ERROR (-128)</dt>
856+
<dd>
857+
Retrieval of the status list failed. See Section
858+
<a href="#validate-algorithm"></a>.
859+
</dd>
860+
<dt id="STATUS_VALIDATION_ERROR">STATUS_VALIDATION_ERROR (-129)</dt>
861+
<dd>
862+
Validation of the status entry failed. See Section
863+
<a href="#validate-algorithm"></a>.
864+
</dd>
865+
</dl>
866+
</section>
816867
</section>
817868

818869
<section class="informative">

0 commit comments

Comments
 (0)