diff --git a/common.js b/common.js index d275283a..dcdf5a80 100644 --- a/common.js +++ b/common.js @@ -41,6 +41,16 @@ var ccg = { status: "FPWD", publisher: "Verifiable Claims Working Group" }, + "DID-CORE-REGISTRIES": { + title: "Decentralized Identifier Core Registries", + href: "https://w3c.github.io/did-core-registries/", + authors: [ + "Orie Steele", + "Manu Sporny" + ], + status: "ED", + publisher: "Decentralized Identifier Working Group" + }, "DID-USE-CASES": { title: "Decentralized Identifier Use Cases", href: "https://w3c.github.io/did-use-cases/", diff --git a/index.html b/index.html index 53d42641..90e2c2c1 100644 --- a/index.html +++ b/index.html @@ -652,6 +652,10 @@
The inputs and outputs of the DID resolution process are defined in . Additional considerations for implementing a @@ -735,6 +739,19 @@
+A conforming DID resolver MUST be capable of performing the DID +resolution process, as described in , for at +least one DID method and MUST return a conforming DID document in +at least one conformant representation. +
+ ++A conforming DID URL dereferencer MUST implement the DID URL +dereferencing process, as described in +for at least one conformant representation. +
+Additional considerations for processing these parameters are discussed in -[?DID-RESOLUTION]. +[[?DID-RESOLUTION]].
@@ -2694,12 +2711,196 @@
+The DID resolution process takes a DID and resolution options as +input, and produces a DID document and resolution metadata as output. The +process utilizes the "Read" operation of the applicable DID method, as +described in . The DID method-specific details +of how this process is accomplished is outside the scope of this specification. +
+ ++The generic DID resolution algorithm takes a conforming DID +(did) and resolution options (resolutionOptions) as input and +produces a conforming DID Document (didDocument), DID Document +Metadata (didDocumentMetadata), and resolution metadata +(resolutionMetadata) as output. +
+ +
+Any errors encountered during the execution of this algorithm MUST be expressed +using the error property in resolutionMetadata. +
+ ++When resolving a DID to a DID document, the following algorithm, +or one producing an equivalent result, MUST be used: +
+ +invalid did
error MUST be
+returned.
+ invalid
+resolution option
error MUST be returned.
+ resolution failure
error MUST be
+returned.
+ invalid did document
+error MUST be returned.
+ invalid did document metadata
error MUST be returned.
+ invalid did resolution metadata
error MUST be returned.
+ +This specification defines the following properties that can be passed as +resolution options into : +
+ ++Additional properties that can be passed to the DID Resolution algorithm +are defined in the DID Core Registries [[?DID-CORE-REGISTRIES]]. +
++When a DID document is returned as a part of , the corresponding metadata +associated with the DID document is also returned. This metadata +contains information about the input DID and the returned DID +document. The metadata typically does not change between invocations of the +. This section defines common +DID Document Metadata properties: +
+ ++The contents of the DID document metadata still needs to be defined within this document. +
+ ++Additional DID Document Metadata properties can be found in +[[DID-CORE-REGISTRIES]]. +
++DID resolution metadata is returned as a part of the . This metadata contains +information about the results of the resolution process and typically changes +between invocations of the . +
+ ++This specification defines the following properties that can be passed as +resolution options into the : +
+ ++Additional Resolution Metadata properties can be found in +[[DID-CORE-REGISTRIES]]. +
+