From 507e13abbb511862efc3cd808c7bde3fac465f9f Mon Sep 17 00:00:00 2001 From: Markus Sabadello Date: Thu, 16 Jan 2025 00:25:22 +0100 Subject: [PATCH] Move DID Parameters section from did-core to did-resolution. (#106) --- common.js | 10 ++++ index.html | 153 +++++++++++++++++++++++++++++++++++++++++++++++++++-- terms.html | 14 +++++ 3 files changed, 172 insertions(+), 5 deletions(-) diff --git a/common.js b/common.js index 80f3803..b871b28 100644 --- a/common.js +++ b/common.js @@ -24,6 +24,16 @@ var ccg = { status: "CG-DRAFT", publisher: "Digital Verification Community Group" }, + "HASHLINK": { + title: "Cryptographic Hyperlinks", + date: "December 2018", + href: "https://tools.ietf.org/html/draft-sporny-hashlink-05", + authors: [ + "Manu Sporny" + ], + status: "Internet-Draft", + publisher: "IETF" + }, "DATA-INTEGRITY": { title: "Verifiable Credential Data Integrity 1.0", href: "https://www.w3.org/TR/vc-data-integrity/", diff --git a/index.html b/index.html index 828cb0f..1925f41 100644 --- a/index.html +++ b/index.html @@ -185,6 +185,149 @@

Terminology

+
+

DID Parameters

+ +

+ The DID URL syntax supports a simple format for parameters + (see section Query + in [[DID-CORE]]). Adding a DID + parameter to a DID URL means that the parameter becomes part of the + identifier for a resource. +

+ +
+did:example:123?versionTime=2021-05-10T17:00:00Z
+	
+ +
+did:example:123?service=files&relativeRef=/resume.pdf
+	
+ +

+ Some DID parameters are completely independent of of any specific DID + method and function the same way for all DIDs. Other DID parameters + are not supported by all DID methods. Where optional parameters are + supported, they are expected to operate uniformly across the DID methods + that do support them. The following table provides common DID parameters that + function the same way across all DID methods. Support for all + DID Parameters is OPTIONAL. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Parameter Name + + Description +
+ service + + Identifies a service from the DID document by service ID. + If present, the associated value MUST be an ASCII string. +
+ relativeRef + + A relative URI reference according to RFC3986 Section 4.2 that identifies a + resource at a service endpoint, which is selected from a DID + document by using the service parameter. + If present, the associated value MUST be an ASCII string and MUST use percent-encoding for + certain characters as specified in RFC3986 + Section 2.1. +
+ versionId + + Identifies a specific version of a DID document to be resolved (the + version ID could be sequential, or a UUID, or method-specific). + If present, the associated value MUST be an ASCII string. +
+ versionTime + + Identifies a certain version timestamp of a DID document to be resolved. + That is, the DID document that was valid for a DID at a certain + time. If present, the associated value + MUST be an ASCII string which is a valid XML + datetime value, as defined in section 3.3.7 of W3C XML Schema Definition Language + (XSD) 1.1 Part 2: Datatypes [[XMLSCHEMA11-2]]. This datetime value MUST be + normalized to UTC 00:00:00 and without sub-second decimal precision. + For example: 2020-12-20T19:17:47Z. +
+ hl + + A resource hash of the DID document to add integrity protection, as + specified in [[?HASHLINK]]. This parameter is non-normative. + If present, the associated value MUST be an + ASCII string. +
+ +

+ Implementers as well as DID method specification authors might use + additional DID parameters that are not listed here. For maximum + interoperability, it is RECOMMENDED that DID parameters use the DID + Specification Registries mechanism [[?DID-SPEC-REGISTRIES]], to avoid collision + with other uses of the same DID parameter with different semantics. +

+ +

+ DID parameters might be used if there is a clear use case where the parameter + needs to be part of a URL that references a resource with more + precision than using the DID alone. It is expected that DID parameters + are not used if the same functionality can be expressed by passing + input metadata to a DID resolver. +

+ +

+ The DID resolution and the DID URL dereferencing functions can + be influenced by passing or + to a DID resolver that are + not part of the DID URL. This is comparable to + HTTP, where certain parameters could either be included in an HTTP URL, or + alternatively passed as HTTP headers during the dereferencing process. The + important distinction is that DID parameters that are part of the DID + URL should be used to specify what resource is being + identified, whereas input metadata that is not part of the DID URL + should be used to control how that resource is resolved or + dereferenced. +

+ +
+

DID Resolution

@@ -1775,23 +1918,23 @@

Errors

invalidDid

If an invalid DID is detected during DID Resolution, the value of the DID Resolution Metadata error property MUST be invalidDid - as defined in section DID Resolution Metadata in [[DID-CORE]]. + as defined in section .

invalidDidUrl

If an invalid DID URL is detected during DID Resolution or DID URL dereferencing, the value of the DID Resolution or DID URL Dereferencing Metadata error property MUST be invalidDidUrl - as defined in section DID URL Dereferencing Metadata in [[DID-CORE]]. + as defined in section .

notFound

If during DID Resolution or DID URL dereferencing a DID or DID URL doesn't exist, the value of the DID Resolution or DID URL dereferencing Metadata error property MUST be notFound as - defined in sections DID Resolution Metadata and - DID URL Dereferencing Metadata in [[DID-CORE]]. + defined in sections and + .

representationNotSupported

If a DID document representation is not supported during DID Resolution or DID URL dereferencing, the value of the DID Resolution Metadata error property MUST be representationNotSupported as - defined in section DID Resolution Metadata in [[DID-CORE]]. + defined in section .

methodNotSupported

If a DID method is not supported during DID Resolution or DID URL dereferencing, diff --git a/terms.html b/terms.html index 324885a..7cd93b4 100644 --- a/terms.html +++ b/terms.html @@ -262,4 +262,18 @@ There are guarantees about the integrity and correctness of the result to the extent possible under the applicable DID method. See Section . +

Universally Unique Identifier (UUID)
+
+ A type of globally unique identifier defined by [[RFC4122]]. UUIDs are similar + to DIDs in that they do not require a centralized registration authority. UUIDs + differ from DIDs in that they are not resolvable or + cryptographically-verifiable. +
+ +
Uniform Resource Identifier (URI)
+
+ The standard identifier format for all resources on the World Wide Web as + defined by [[RFC3986]]. A DID is a type of URI scheme. +
+