diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..1132bb2a --- /dev/null +++ b/.gitignore @@ -0,0 +1,9 @@ +node_modules +coverage +vocabs/shape_test.ttl +vocabs/v1/test.ttl + +.vscode +.DS_Store +.idea +unresolveable-test-dids.json diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 00000000..e69de29b diff --git a/.pr-preview.json b/.pr-preview.json new file mode 100644 index 00000000..a239968f --- /dev/null +++ b/.pr-preview.json @@ -0,0 +1,4 @@ +{ + "src_file": "index.html", + "type": "respec" +} diff --git a/CODEOWNERS b/CODEOWNERS new file mode 100644 index 00000000..c30924d4 --- /dev/null +++ b/CODEOWNERS @@ -0,0 +1,8 @@ + +# These owners will be the default owners for everything in +# the repo. Unless a later match takes precedence, +# they will be requested for review when someone opens a +# pull request. +* @msporny @apuchitnis @stenreijers @gatemezing @adam-burns @Steffytan @MizukiSonoko @rajivrajani @genaris @ajile-in @KDean-Dolphin + +# See CODEOWNERS syntax here: https://help.github.com/articles/about-codeowners/#codeowners-syntax diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 00000000..affeb6c7 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,5 @@ +# Code of Conduct + +Contributing to all documentation, code, and communication under this +repository is covered by the +[W3C Code of Ethics and Professional Conduct](https://www.w3.org/Consortium/cepc/). diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..525730d3 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,24 @@ +# Decentralized Identifier Working Group + +Contributions to this repository are intended to become part of Recommendation-track documents governed by the +[W3C Patent Policy](https://www.w3.org/Consortium/Patent-Policy-20040205/) and +[Document License](https://www.w3.org/Consortium/Legal/copyright-documents). To make substantive contributions to specifications, you must either participate +in the relevant W3C Working Group or make a non-member patent licensing commitment. + +If you are not the sole contributor to a contribution (pull request), please identify all +contributors in the pull request comment. + +To add a contributor (other than yourself, that's automatic), mark them one per line as follows: + +``` ++@github_username +``` + +If you added a contributor by mistake, you can remove them in a comment with: + +``` +-@github_username +``` + +If you are making a pull request on behalf of someone else but you had no part in designing the +feature, you can remove yourself with the above syntax. diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 00000000..495d78c4 --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,4 @@ +All documents in this Repository are licensed by contributors +under the +[W3C Document License](https://www.w3.org/Consortium/Legal/copyright-documents). + diff --git a/README.md b/README.md new file mode 100644 index 00000000..30af476b --- /dev/null +++ b/README.md @@ -0,0 +1,76 @@ +![W3C Logo](https://www.w3.org/Icons/w3c_home) + +[![Echidna Auto-publish](https://github.com/w3c/did-extensions/actions/workflows/auto-publish.yml/badge.svg)](https://github.com/w3c/did-extensions/actions/workflows/auto-publish.yml) + +# Decentralized Identifier Extensions + +This repository contains a list of known DID Extensions that are tracked +by the +[W3C Decentralized Identifier Working Group](https://www.w3.org/2019/did-wg/) +(DID WG) for the purpose of enhancing DID ecosystem interoperability. There +might be extensions to DIDs other than the ones listed here; this is not +meant to be an exhaustive or centralized list of extensions. + +An Editor's Draft of this repository is available at +https://w3c.github.io/did-extensions/. + +## Adding a DID Method + +In order to register a new DID method, you must add a JSON file +to the [./methods](./methods) directory and +[open a pull request](https://github.com/w3c/did-extensions/pulls) +to add the file to this repository. + +Here is an [example registration entry](https://w3c.github.io/did-extensions/methods/example.json): + +```jsonc +{ + // These fields are required + "name": "example", + "status": "registered", + "specification": "https://w3c-ccg.github.io/did-spec/", + // These fields are optional + "contactName": "W3C Credentials Community Group", + "contactEmail": "", + "contactWebsite": "", + "verifiableDataRegistry": "DID Specification" +} +``` + +Your Pull Request will be automatically validated, please ensure +that all of the automated tests pass (no errors reported) or +your submission will not be reviewed. Common reasons for failed +validation includes invalidly formatted JSON files and missing +mandatory fields. There will be a checklist that you are expected +to complete and attest to its accuracy. Once you submit your request, +your pull request will be reviewed by the registry editors. Changes +regarding the required criteria may be requested. If there are at +least two reviews by registry maintainers listed in the CODEOWNERS file, and no objections or +changes requested, your DID method will be registered after a +minimum of 7 days and a maximum of 30 days. + +## Adding Anything Else + +Use the standard fork, branch, and pull request workflow to propose changes to +the registry. Please make branch names informative—by including the issue or +bug number for example. + +Editorial changes that improve the readability of the registry or correct +spelling or grammatical mistakes are welcome. + +Non-editorial changes MUST go through a review and approval process that is +[detailed in the registry](https://w3c.github.io/did-extensions/#the-registration-process). + +Please read [CONTRIBUTING.md](CONTRIBUTING.md), about licensing contributions. + +## Code of Conduct + +W3C functions under a [code of conduct](https://www.w3.org/Consortium/cepc/). + +## DID Working Group Repositories + +- [W3C DID Core Specification v1.0](https://github.com/w3c/did-core) +- [W3C DID Working Group](https://github.com/w3c/did-wg) +- [W3C DID Rubric v1.0](https://github.com/w3c/did-rubric) +- [W3C DID Use Cases v1.0](https://github.com/w3c/did-use-cases) +- [W3C DID Test Suite and Implementation Report](https://github.com/w3c/did-test-suite) diff --git a/index.html b/index.html new file mode 100644 index 00000000..5603ddcc --- /dev/null +++ b/index.html @@ -0,0 +1,370 @@ + + +
++This document serves as a repository for all known global parameters, +properties, and values used by the Decentralized Identifier ecosystem. +
++This repository is under active development and implementers are advised +against using the repository unless they are directly involved with the +W3C DID Working Group. +
+ ++Comments regarding this document are welcome. Please file issues +directly on +GitHub, +or send them +to public-did-wg@w3.org ( +subscribe, +archives). +
+ ++Portions of the work on this specification have been funded by the +United States Department of Homeland Security's Science and Technology +Directorate under contracts HSHQDC-16-R00012-H-SB2016-1-002, 70RSAT20T00000010, +and HSHQDC-17-C-00019. The content of this specification does not +necessarily reflect the position or the policy of the U.S. Government +and no official endorsement should be inferred. +
+ ++Work on this repository has also been supported by the Rebooting the +Web of Trust community facilitated by Christopher Allen, Shannon +Appelcline, Kiara Robles, Brian Weller, Betty Dhamers, Kaliya Young, +Kim Hamilton Duffy, Manu Sporny, Drummond Reed, Joe Andrieu, and +Heather Vescent, Dmitri Zagidulin, and Dan Burnett. +
++This document serves as an official repository for all known global parameters, +properties, and values used by the Decentralized Identifier ecosystem. +
+ + + ++Software implementers might find that the existing Decentralized Identifier Core +specification [[DID-CORE]] is not entirely capable of addressing their use case +and might need to add a new parameters, properties, or values to this repository +in order to achieve their use case in a globally interoperable fashion. In order +to add a new parameter, property, or value to this repository, an implementer MUST +submit a modification request for this repository, as a pull request on the +repository where this repository is hosted, where the modification request adheres +to the following policies: +
+ +@protected
+feature to eliminate the possibility of term conflicts.
+ +The Editors of the DID Specification Registries MUST consider all of the +policies above when reviewing additions to the repository and MUST reject repository +entries if they violate any of the policies in this section. Entities +registering additions can challenge rejections first with the W3C DID Working +Group and then, if they are not satisfied with the outcome, with the W3C Staff. +W3C Staff need not be consulted on changes to the DID Specification Registries, +but do have the final authority on repository contents. This is to ensure that W3C +can adequately respond to time sensitive legal, privacy, security, moral, or +other pressing concerns without putting an undue operational burden on W3C +Staff. +
+ ++Entries that are identified to cause interoperability problems MAY be marked as +such at the discretion of the maintainers of this repository, and if possible, +after consultation with the entry maintainer. +
+ ++Any submission to the registries that meet all the criteria listed above will be +accepted for inclusion. These registries enumerate all known mechanisms that +meet a minimum bar, without choosing between them. +
++The following documents list known extensions to the DID Ecosystem: +
+ +Document | +Description | + + +
---|---|
+Property and Value Extensions + | +Extensions to DID Document properties and values. | +
+Resolution Extensions + | +Extensions to DID Resolution parameters and results. | +
+DID Methods + | ++Ephemeral, distributed, and fully decentralized mechanisms for supporting +Decentralized Identifiers across a variety of technology platforms. + | +
+This document serves as a collection of known DID Methods. +
++Comments regarding this document are welcome. Please file issues +directly on +GitHub, +or send them +to public-did-wg@w3.org ( +subscribe, +archives). +
+ ++Portions of the work on this specification have been funded by the +United States Department of Homeland Security's Science and Technology +Directorate under contracts HSHQDC-16-R00012-H-SB2016-1-002, 70RSAT20T00000010, +and HSHQDC-17-C-00019. The content of this specification does not +necessarily reflect the position or the policy of the U.S. Government +and no official endorsement should be inferred. +
+ ++Work on this registry has also been supported by the Rebooting the +Web of Trust community facilitated by Christopher Allen, Shannon +Appelcline, Kiara Robles, Brian Weller, Betty Dhamers, Kaliya Young, +Kim Hamilton Duffy, Manu Sporny, Drummond Reed, Joe Andrieu, and +Heather Vescent, Dmitri Zagidulin, and Dan Burnett. +
++This document serves as a collection of known DID Methods. +
+ ++The registration process is described in the [[[DID-EXTENSIONS]]]. +
++This table summarizes the DID method specifications currently in development. +The links will be updated as subsequent Implementer’s Drafts are produced. +This registry does not act as an endorsement of any particular DID method or its +underlying technologies by the W3C, the W3C Decentralized Identifier Working Group, +or any affiliated members of the W3C. It exists as a mechanism for developers to +discover various DID methods that they might wish to implement. +
++The normative requirements for DID method specifications can be found in +Decentralized Identifiers +v1.0: Methods [[DID-CORE]]. DID methods that do not meet these requirements +will not be accepted. We encourage DID method authors to provide an email +address in the Author Links column, as this helps with maintenance. +If an email address is omitted, a label noting that there is no +contact information for the author will be applied to the registry entry. +
+ ++This document serves as a collection of known DID Document properties and +property values. +
++Comments regarding this document are welcome. Please file issues +directly on +GitHub, +or send them +to public-did-wg@w3.org ( +subscribe, +archives). +
+ ++Portions of the work on this specification have been funded by the +United States Department of Homeland Security's Science and Technology +Directorate under contracts HSHQDC-16-R00012-H-SB2016-1-002, 70RSAT20T00000010, +and HSHQDC-17-C-00019. The content of this specification does not +necessarily reflect the position or the policy of the U.S. Government +and no official endorsement should be inferred. +
+ ++Work on this registry has also been supported by the Rebooting the +Web of Trust community facilitated by Christopher Allen, Shannon +Appelcline, Kiara Robles, Brian Weller, Betty Dhamers, Kaliya Young, +Kim Hamilton Duffy, Manu Sporny, Drummond Reed, Joe Andrieu, and +Heather Vescent, Dmitri Zagidulin, and Dan Burnett. +
++This document serves as a collection of known DID Document properties and +property values. +
+ ++ The registration process is described in the [[[DID-EXTENSIONS]]]. +
++The following section defines the properties available for use in a DID +document. Note that some of these properties are defined in the +DID Core Specification, and +others are defined elsewhere and may be method- or domain-specific. Please read +the associated specifications to ensure that the properties you use are +appropriate for your implementation. The properties are arranged here according +to the purpose they serve. +
+ ++This registry is a work in progress and some properties are missing normative +definitions. We are working on this! This does NOT mean that in future it will +be possible to submit items to the registry without normative definitions (see ). +
+ +
+These properties are foundational to DID documents, and are expected to be
+useful to all DID methods.
+
+
+This property has been deprecated, use verificationMethod instead.
+id
+
+
+
+
+
+
+
+
+
+ Normative Definition
+ JSON-LD
+
+
+
+
+ DID Core
+
+
+ DID Core
+
+
+{
+ "id": "did:example:123",
+ ...
+}
+
+ alsoKnownAs
+
+
+
+
+
+
+
+
+
+ Normative Definition
+ JSON-LD
+
+
+
+
+ DID Core
+
+
+ DID Core
+
+
+{
+ "alsoKnownAs": "https://example.com/",
+ ...
+}
+
+ controller
+
+
+
+
+
+
+
+
+
+ Normative Definition
+ JSON-LD
+
+
+
+
+ DID Core
+
+
+ DID Core
+
+
+{
+ "controller": "did:example:123",
+ ...
+}
+
+ verificationMethod
+
+
+
+
+
+
+
+
+ Normative Definition
+ JSON-LD
+
+
+
+
+ DID Core Terminology
+
+
+ DID Core
+
+
+{
+ "id": "did:example:123",
+ "verificationMethod": [
+ {
+ "id": "did:example:123#key-1",
+ "type": "Ed25519VerificationKey2018",
+ "controller": "did:example:123",
+ "publicKeyBase58": "H3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV"
+ },
+ {
+ "id": "did:example:123#key-2",
+ "type": "JsonWebKey2020",
+ "controller": "did:example:123",
+ "publicKeyJwk": {
+ "kty": "OKP",
+ "crv": "Ed25519",
+ "x": "r7V8qmdFbwqSlj26eupPew1Lb22vVG5vnjhn3vwEA1Y"
+ },
+ }
+ ]
+}
+
+ publicKey
+
+Deprecated
+
+
+
+
+
+
+
+
+
+ Normative Definition
+ JSON-LD
+
+
+
+
+ security-vocab
+
+
+ security-vocab context
+
+
+{
+ "id": "did:example:123",
+ "publicKey": [
+ {
+ "id": "did:example:123#ZC2jXTO6t4R501bfCXv3RxarZyUbdP2w_psLwMuY6ec",
+ "type": "Ed25519VerificationKey2018",
+ "controller": "did:example:123",
+ "publicKeyBase58": "H3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV"
+ },
+ {
+ "id": "did:example:123#WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q",
+ "type": "EcdsaSecp256k1VerificationKey2019",
+ "controller": "did:example:123",
+ "publicKeyJwk": {
+ "crv": "secp256k1",
+ "x": "NtngWpJUr-rlNNbs0u-Aa8e16OwSJu6UiFf0Rdo1oJ4",
+ "y": "qN1jKupJlFsPFc1UkWinqljv4YE0mq_Ickwnjgasvmo",
+ "kty": "EC",
+ "kid": "WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q"
+ }
+ }
+ ]
+}
+
+ service
+
+
+
+
+
+
+
+
+ Normative Definition
+ JSON-LD
+
+
+
+
+ DID Core
+
+
+ DID Core
+
+
+{
+ ...
+ "service": [{
+ "id": "did:example:123#edv",
+ "type": "EncryptedDataVault",
+ "serviceEndpoint": "https://edv.example.com/"
+ }]
+}
+
+
+ linkedResource
+
+
+
+
+
+
+
+
+ Normative Definition
+ JSON-LD
+
+
+
+
+ DID
+ Cosmos Linked Resources
+
+
+ Cosmos JSON-LD
+ Context
+
+
+ {
+ ...
+ "linkedResource" : [{
+ "id": "did:cosmos:1:impacthub:nft:abc123#resourceHashgraph",
+ "path": "did:cosmos:1:impacthub:nft:abc123/resourceHashgraph",
+ "type": "hashgraph",
+ "proof": "afybeiemxf5abjwjbikoz4mcb3a3dla6ual3jsgpdr4cjr3oz",
+ "endpoint" : "did:cosmos:1:impacthub:nft:abc123?service=mediator"
+ }]
+ }
+
+ dnsValidationDomain
+
+
+
+
+
+
+
+
+ Normative Definition
+ JSON-LD
+
+
+
+
+ High Assurance DIDs with DNS
+
+
+ dnsValidationDomain JSON-LD
+ Context
+
+
+{
+ "dnsValidationDomain": "mydomain.example"
+ ...
+}
+
+These are properties that express the relationship between the DID subject and a +verification method using a + +verification relationship. +
+Normative Definition | +JSON-LD | +
---|---|
+ DID Core + | ++ DID Core + | +
+{ + ... + "verificationMethod": [{ + "id": "did:example:123#WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q", + "type": "EcdsaSecp256k1VerificationKey2019", + "controller": "did:example:123", + "publicKeyJwk": { + "crv": "secp256k1", + "x": "NtngWpJUr-rlNNbs0u-Aa8e16OwSJu6UiFf0Rdo1oJ4", + "y": "qN1jKupJlFsPFc1UkWinqljv4YE0mq_Ickwnjgasvmo", + "kty": "EC", + "kid": "WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q" + } + }], + "assertionMethod": [{ + "id": "did:example:123#z6MkpzW2izkFjNwMBwwvKqmELaQcH8t54QL5xmBdJg9Xh1y4", + "type": "Ed25519VerificationKey2018", + "controller": "did:example:123", + "publicKeyBase58": "BYEz8kVpPqSt5T7DeGoPVUrcTZcDeX5jGkGhUQBWmoBg" + }, + "did:example:123#WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q" + ] +} ++
Normative Definition | +JSON-LD | +
---|---|
+ DID Core + | ++ DID Core + | +
+{ + ... + "verificationMethod": [{ + "id": "did:example:123#WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q", + "type": "EcdsaSecp256k1VerificationKey2019", + "controller": "did:example:123", + "publicKeyJwk": { + "crv": "secp256k1", + "x": "NtngWpJUr-rlNNbs0u-Aa8e16OwSJu6UiFf0Rdo1oJ4", + "y": "qN1jKupJlFsPFc1UkWinqljv4YE0mq_Ickwnjgasvmo", + "kty": "EC", + "kid": "WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q" + } + }], + "authentication": [{ + "id": "did:example:123#z6MkpzW2izkFjNwMBwwvKqmELaQcH8t54QL5xmBdJg9Xh1y4", + "type": "Ed25519VerificationKey2018", + "controller": "did:example:123", + "publicKeyBase58": "BYEz8kVpPqSt5T7DeGoPVUrcTZcDeX5jGkGhUQBWmoBg" + }, + "did:example:123#WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q" + ] +} ++
Normative Definition | +JSON-LD | +
---|---|
+ DID Core + | ++ DID Core + | +
+{ + ... + "verificationMethod": [{ + "id": "did:example:123#WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q", + "type": "EcdsaSecp256k1VerificationKey2019", + "controller": "did:example:123", + "publicKeyJwk": { + "crv": "secp256k1", + "x": "NtngWpJUr-rlNNbs0u-Aa8e16OwSJu6UiFf0Rdo1oJ4", + "y": "qN1jKupJlFsPFc1UkWinqljv4YE0mq_Ickwnjgasvmo", + "kty": "EC", + "kid": "WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q" + } + }], + "capabilityDelegation": [{ + "id": "did:example:123#z6MkpzW2izkFjNwMBwwvKqmELaQcH8t54QL5xmBdJg9Xh1y4", + "type": "Ed25519VerificationKey2020", + "controller": "did:example:123", + "publicKeyMultibase": "z6MkpzW2izkFjNwMBwwvKqmELaQcH8t54QL5xmBdJg9Xh1y4" + }, + "did:example:123#WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q" + ] +} ++
Normative Definition | +JSON-LD | +
---|---|
+ DID Core + | ++ DID Core + | +
+{ + ... + "verificationMethod": [{ + "id": "did:example:123#WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q", + "type": "EcdsaSecp256k1VerificationKey2019", + "controller": "did:example:123", + "publicKeyJwk": { + "crv": "secp256k1", + "x": "NtngWpJUr-rlNNbs0u-Aa8e16OwSJu6UiFf0Rdo1oJ4", + "y": "qN1jKupJlFsPFc1UkWinqljv4YE0mq_Ickwnjgasvmo", + "kty": "EC", + "kid": "WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q" + } + }], + "capabilityInvocation": [{ + "id": "did:example:123#z6MkpzW2izkFjNwMBwwvKqmELaQcH8t54QL5xmBdJg9Xh1y4", + "type": "Ed25519VerificationKey2020", + "controller": "did:example:123", + "publicKeyMultibase": "z6MkpzW2izkFjNwMBwwvKqmELaQcH8t54QL5xmBdJg9Xh1y4" + }, + "did:example:123#WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q" + ] +} ++
Normative Definition | +JSON-LD | +
---|---|
+ DID Core + | ++ DID Core + | +
+{ + ... + "keyAgreement": [ + { + "id": "did:example:123#zC9ByQ8aJs8vrNXyDhPHHNNMSHPcaSgNpjjsBYpMMjsTdS", + "type": "X25519KeyAgreementKey2019", + "controller": "did:example:123", + "publicKeyMultibase": "zC9ByQ8aJs8vrNXyDhPHHNNMSHPcaSgNpjjsBYpMMjsTdS" + } + ] +} ++
+These properties are for use on a verification method object, in the value of
+verificationMethod
. An
+implementer is expected to not be relying directly on the linked contexts
+registered below in nearly every case and instead should be including the
+context definitions registered by the
+verificationMethod
.
+
Normative Definition | +JSON-LD | +
---|---|
+ security-vocab + | ++ https://w3id.org/security/suites/jws-2020/v1 + | +
+{ + "id": "did:example:123#_Qq0UL2Fq651Q0Fjd6TvnYE-faHiOpRlPVQcY_-tA4A", + "type": "JsonWebKey2020", + "controller": "did:example:123", + "publicKeyJwk": { + "crv": "Ed25519", + "x": "VCpo2LMLhn6iWku8MKvSLg2ZAoC-nlOyPVQaO3FxVeQ", + "kty": "OKP", + "kid": "_Qq0UL2Fq651Q0Fjd6TvnYE-faHiOpRlPVQcY_-tA4A" + } +}, ++
+This property is deprecated in favor of publicKeyMultibase
or
+publicKeyJwk
. It's generally expected that this term will still be
+used in older suites and therefore needs be supported for legacy compatibility,
+but is expected to not be used for newly defined suites.
+
Normative Definition | +JSON-LD | +
---|---|
+ security-vocab + | ++ https://w3id.org/security/v2 + | +
+This property is deprecated in favor of publicKeyMultibase
or
+publicKeyJwk
. It's generally expected that this term will still be
+used in older suites and therefore needs be supported for legacy compatibility,
+but is expected to not be used for newly defined suites.
+
Normative Definition | +JSON-LD | +|
---|---|---|
+ security-vocab + | ++ https://w3id.org/security/v3-unstable + | ++ | +
+ { + "@context":[ + "https://www.w3.org/ns/did/v1", + "https://identity.foundation/EcdsaSecp256k1RecoverySignature2020#" + ], + "id":"did:example:123", + "verificationMethod":[{ + "id": "did:example:123#vm-2", + "controller": "did:example:123", + "type": "EcdsaSecp256k1RecoveryMethod2020", + "publicKeyHex": "027560af3387d375e3342a6968179ef3c6d04f5d33b2b611cf326d4708badd7770" + }] + } ++
Normative Definition | +JSON-LD | +
---|---|
+ security-vocab + | ++ https://w3id.org/security/v3-unstable + | +
Normative Definition | +JSON-LD | +
---|---|
+ security-vocab + | ++ https://w3id.org/security/v3-unstable + | +
+ { + "@context":[ + "https://www.w3.org/ns/did/v1", + "https://identity.foundation/EcdsaSecp256k1RecoverySignature2020#" + ], + "id":"did:example:123", + "verificationMethod":[{ + "id": "did:example:123#vm-3", + "controller": "did:example:123", + "type": "EcdsaSecp256k1RecoveryMethod2020", + "blockchainAccountId":"eip155:1:0xab16a96d359ec26a11e2c2b3d8f8b8942d5bfcdb" + }] + } ++
+This property is deprecated in favor of blockchainAccountId
. It's
+generally expected that this term will still be used in older suites and
+therefore needs be supported for legacy compatibility, but is expected to not be
+used for newly defined suites.
+
Normative Definition | +JSON-LD | +
---|---|
+ security-vocab + | ++ https://w3id.org/security/v3-unstable + | +
+ { + "@context":[ + "https://www.w3.org/ns/did/v1", + "https://identity.foundation/EcdsaSecp256k1RecoverySignature2020#" + ], + "id":"did:example:123", + "verificationMethod":[{ + "id": "did:example:123#vm-3", + "controller": "did:example:123", + "type": "EcdsaSecp256k1RecoveryMethod2020", + "ethereumAddress": "0xF3beAC30C498D9E26865F34fCAa57dBB935b0D74" + }] + } ++
+These properties are for use on a service object, in the value of
+service
.
+
Normative Definition | +JSON-LD | +
---|---|
+ DID Core + | ++ DID Core + | +
+{ + ... + "service": [{ + "id": "did:example:123#edv", + "type": "EncryptedDataVault", + "serviceEndpoint": "https://edv.example.com/" + }] +} ++ +
+These are values to be used for the type
in a verification method object.
+
+Do not include private or extraneous information in verification methods. The +class of private information related to JWKs is defined here. Please review +the DID Core +specification for additional details on this topic. +
+ +Normative Definition | +JSON-LD | +
---|---|
+ JSON Web Signature 2020 + | ++ https://w3id.org/security/suite/jws-2020/v1 + | +
+ { + "id": "did:example:123#_TKzHv2jFIyvdTGF1Dsgwngfdg3SH6TpDv0Ta1aOEkw", + "type": "JsonWebKey2020", + "controller": "did:example:123", + "publicKeyJwk": { + "crv": "P-256", + "x": "38M1FDts7Oea7urmseiugGW7tWc3mLpJh6rKe7xINZ8", + "y": "nDQW6XZ7b_u2Sy9slofYLlG03sOEoug3I0aAPQ0exs4", + "kty": "EC", + "kid": "_TKzHv2jFIyvdTGF1Dsgwngfdg3SH6TpDv0Ta1aOEkw" + } + } ++
Normative Definition | +JSON-LD | +
---|---|
+ Ecdsa Secp256k1 Signature 2019 + | ++ https://w3id.org/security/suites/secp256k1-2019/v1 + | +
+{ + "id": "did:example:123#WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q", + "type": "EcdsaSecp256k1VerificationKey2019", + "controller": "did:example:123", + "publicKeyJwk": { + "crv": "secp256k1", + "x": "NtngWpJUr-rlNNbs0u-Aa8e16OwSJu6UiFf0Rdo1oJ4", + "y": "qN1jKupJlFsPFc1UkWinqljv4YE0mq_Ickwnjgasvmo", + "kty": "EC", + "kid": "WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q" + } +} ++
Normative Definition | +JSON-LD | +
---|---|
+ Ed25519 Signature 2018 + | ++ https://w3id.org/security/suites/ed25519-2018/v1 + | +
+ { + "id": "did:example:123#ZC2jXTO6t4R501bfCXv3RxarZyUbdP2w_psLwMuY6ec", + "type": "Ed25519VerificationKey2018", + "controller": "did:example:123", + "publicKeyBase58": "H3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV" + } ++
Normative Definition | +JSON-LD | +
---|---|
+ BBS+ Signatures 2020 + | ++ https://w3id.org/security/suites/bls12381-2020/v1 + | +
+ { + "id": "did:example:123#z3tEGVtEKzdhJB2rT5hLVjwQPis8k7bTM16t7vDZrQaoddk6wZ7or6xPPs1P8H9U16Xe75", + "type": "Bls12381G1Key2020", + "controller": "did:example:123", + "publicKeyBase58": "7bXhTVonHPizXP72AE92PPmRiaXipC519yU7F6NxUFExWpyQo57LuKKBoTyuZ3uWm9", + } ++
Normative Definition | +JSON-LD | +
---|---|
+ BBS+ Signatures 2020 + | ++ https://w3id.org/security/suites/bls12381-2020/v1 + | +
+ { + "id": "did:example:123#zUC7K51WYEsj8y6KPVa1XfwdW5ZJrW5kSbMV619j128T6atCLLXJjjovMZsJ3Ay4STdngRkvM4ygT4qm1mk6HR8FvipSY435nLgYS1TTcaqJAzDWzM1iB9vh3hTL1DEKitwn56i", + "type": "Bls12381G2Key2020", + "controller": "did:example:123", + "publicKeyBase58": "25ETdUZDVnME6yYuAMjFRCnCPcDmYQcoZDcZuXAfeMhXPvjZg35QmZ7uctBcovA69YDM3Jf7s5BHo4u1y89nY6mHiji8yphZ4AMm4iNCRh35edSg76Dkasu3MY2VS9LnuaVQ", + + } ++
Normative Definition | +JSON-LD | +Additional Details | +
---|---|---|
+ Linked Data Signatures for PGP + | ++ https://w3id.org/security/suites/pgp-2021/v1 + | ++ Use of this verification key should be in line with the OpenPGP Message Format + as defined in RFC 4880 + | +
+{ + "@context":[ + "https://www.w3.org/ns/did/v1", + "https://gpg.jsld.org/contexts/lds-gpg2020-v0.0.jsonld" + ], + "id":"did:example:123", + "verificationMethod":[{ + "id": "did:example:123#989ed1057a294c8a3665add842e784c4d08de1e2", + "type": "PgpVerificationKey2021", + "controller": "did:example:123", + "publicKeyPgp": "-----BEGIN PGP PUBLIC KEY BLOCK-----\r\nVersion: OpenPGP.js v4.9.0\r\nComment: https://openpgpjs.org\r\n\r\nxjMEXkm5LRYJKwYBBAHaRw8BAQdASmfrjYr7vrjwHNiBsdcImK397Vc3t4BL\r\nE8rnN......v6\r\nDw==\r\n=wSoi\r\n-----END PGP PUBLIC KEY BLOCK-----\r\n" + }] +} ++
+DID +Specification Registries Issue 370 This property should be moved into a +separate suite and linked to here rather than relying on the Verifiable +Credentials vocabulary. There are known issues with the first version of the +Security vocabulary JSON-LD context and the first version of the Verifiable +Credentials JSON-LD context which will prevent these contexts from being listed +in the same document. For now it's suggested that implementers rely upon the +first version of the Verifiable Credentials JSON-LD context and not rely on +the Security vocabulary JSON-LD context in the same document. +
+Normative Definition | +JSON-LD | +
---|---|
+ RSA Signature Suite 2018 + | ++ https://www.w3.org/2018/credentials/v1 + | +
+ { + "id": "did:example:123#key-0", + "type": "RsaVerificationKey2018", + "controller": "did:example:123", + "publicKeyJwk": { + "kty":"RSA", + "e":"AQAB", + "use":"sig", + "kid":"tNksV42EUs3Xct9AkgZyFWglItRGMxVZ1A1XM68SNq0 + "n":"kO2d_qQTEBjYFGcoY_da7ziFY4L2QX14K7snCee09n-cY2eP-oJXk8T2_lL20YnpYhf4i + jhkWHGU8kY8-FWPRrzSeu3JUMVSZoqTgoAiKWdnSLNvPVxvGuD2CiA3T6AkwUC03D2AkOLCcJV + 8h_hxUEPeDawF7ArpuJW5DXzEJjE7gOjN4r6d7VB6sd5y-3la54H2ADz2amHLdBWs30fL4BRBH + lVdx0YmF37V4u5yvnnb5Iyr3kBXJes8t0MUMPkjqEEXRmukpKUzZYNpWDXY0tVcXeK5sRx0DAn + lNgNNf14-vsyjGkj2Rz0oGW73jjWa8dw-yVlDEHyIkQU9-UY4dFXbVjdIO8j_5ghh62o1T7Y4w + 5CWMc-FxPE3LHe-_teW97X__NN-ToYgfi42IvV2mYOdQMCbvnvY2oMdK3b9wmeVi0marToauL5 + LMg5xHDKopmIR7E3VyRtNYwDFAZ89kadcbSrZ8zTR5APaB7Tmp2L2ZfXKxqKQuxlFTTCcZtg4e + 5AN8QuYdI18DEDQn2umUU_Twj7k4CXvuIKVL8p4yRHC4CHAGIm9cH_t11dF3wXygaENVOGRXQu + 0g1iKq0mO2rWpOqkGJ5uXMFb5lx54i8uOjCdZ9y2el28xA55Ve95KCxeTHp997Bn3TIgbeQ-B_ + -3PBVTuuAAH8y9fFNKtu5E" + } + } ++
Normative Definition | +JSON-LD | +
---|---|
+ Normative definition pending + | ++ https://w3id.org/security/suites/x25519-2019/v1 + | +
+ { + ... + "keyAgreement": [ + { + "id": "did:example:123#zC9ByQ8aJs8vrNXyDhPHHNNMSHPcaSgNpjjsBYpMMjsTdS", + "type": "X25519KeyAgreementKey2019", + "controller": "did:example:123", + "publicKeyBase58": "9hFgmPVfmBZwRvFEyniQDBkz9LmV7gDEqytWyGZLmDXE" + } + ] + } ++ +
Normative Definition | +JSON-LD | +
---|---|
+ ECDSA Secp256k1 Recovery Signature 2020 + | ++ https://w3id.org/security/suites/secp256k1recovery-2020/v1 + | +
+{ + "@context": [ + "https://www.w3.org/ns/did/v1", + "https://identity.foundation/EcdsaSecp256k1RecoverySignature2020#" + ], + "id":"did:example:123", + "verificationMethod": [ + { + "id": "did:example:123#vm-1", + "controller": "did:example:123", + "type": "EcdsaSecp256k1RecoveryMethod2020", + "publicKeyJwk": { + "crv": "secp256k1", + "kid": "JUvpllMEYUZ2joO59UNui_XYDqxVqiFLLAJ8klWuPBw", + "kty": "EC", + "x": "dWCvM4fTdeM0KmloF57zxtBPXTOythHPMm1HCLrdd3A", + "y": "36uMVGM7hnw-N6GnjFcihWE3SkrhMLzzLCdPMXPEXlA" + } + }, + { + "id": "did:example:123#vm-2", + "controller": "did:example:123", + "type": "EcdsaSecp256k1RecoveryMethod2020", + "publicKeyHex": "027560af3387d375e3342a6968179ef3c6d04f5d33b2b611cf326d4708badd7770" + }, + { + "id": "did:example:123#vm-3", + "controller": "did:example:123", + "type": "EcdsaSecp256k1RecoveryMethod2020", + "ethereumAddress": "0xF3beAC30C498D9E26865F34fCAa57dBB935b0D74" + } + ] +} ++
Normative Definition | +JSON-LD | +
---|---|
+ Verifiable + Conditions Verification Method Suite 2021 + | ++ https://w3c-ccg.github.io/verifiable-conditions/contexts/verifiable-conditions-2021-v1.json + | +
+ { + "id": "did:example:123#1", + "controller": "did:example:123", + "type": "VerifiableCondition2021", + "conditionAnd": [{ + "id": "did:example:123#1-1", + "controller": "did:example:123", + "type": "VerifiableCondition2021", + "conditionOr": [{ + "id": "did:example:123#1-1-1", + "controller": "did:example:123", + "type": "EcdsaSecp256k1VerificationKey2019", + "publicKeyBase58": "5JBxKqYKzzoHrzeqwp6zXk8wZU3Ah94ChWAinSj1fYmyJvJS5rT" + }, { + "id": "did:example:123#1-1-2", + "controller": "did:example:123", + "type": "Ed25519VerificationKey2018", + "publicKeyBase58": "PZ8Tyr4Nx8MHsRAGMpZmZ6TWY63dXWSCzamP7YTHkZc78MJgqWsAy" + }] + }, { + "id": "did:example:123#1-2", + "controller": "did:example:123", + "type": "Ed25519VerificationKey2018", + "publicKeyBase58": "H3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV" + }] + } ++
+These are values to be used for the type
property
+in a service object.
+
Normative Definition | +JSON-LD | +
---|---|
+ Well Known DID Configuration + | ++ Well Known DID Configuration + | +
+{ + "@context": ["https://www.w3.org/ns/did/v1","https://identity.foundation/.well-known/did-configuration/v1"], + "id": "did:example:123", + "verificationMethod": [{ + "id": "did:example:123#456", + "type": "JsonWebKey2020", + "controller": "did:example:123", + "publicKeyJwk": { + "kty": "OKP", + "crv": "Ed25519", + "x": "VCpo2LMLhn6iWku8MKvSLg2ZAoC-nlOyPVQaO3FxVeQ" + } + }], + "service": [ + { + "id":"did:example:123#foo", + "type": "LinkedDomains", + "serviceEndpoint": { + "origins": ["https://foo.example.com", "https://identity.foundation"] + } + }, + { + "id":"did:example:123#bar", + "type": "LinkedDomains", + "serviceEndpoint": "https://bar.example.com" + } + ] +} ++ +
Normative Definition | +JSON-LD | +
---|---|
+ Linked Verifiable Presentation + | ++ Linked Verifiable Presentation + | +
+{ + "@context": [ + "https://www.w3.org/ns/did/v1", + "https://identity.foundation/linked-vp/contexts/v1" + ], + "id": "did:example:123", + "verificationMethod": [{ + "id": "did:example:123#_Qq0UL2Fq651Q0Fjd6TvnYE-faHiOpRlPVQcY_-tA4A", + "type": "JsonWebKey2020", + "controller": "did:example:123", + "publicKeyJwk": { + "kty": "OKP", + "crv": "Ed25519", + "x": "VCpo2LMLhn6iWku8MKvSLg2ZAoC-nlOyPVQaO3FxVeQ" + } + }], + "service": [ + { + "id": "did:example:123#foo", + "type": "LinkedVerifiablePresentation", + "serviceEndpoint": ["https://bar.example.com/verifiable-presentation.jsonld"] + }, + { + "id": "did:example:123#baz", + "type": "LinkedVerifiablePresentation", + "serviceEndpoint": "ipfs://bafybeihkoviema7g3gxyt6la7vd5ho32ictqbilu3wnlo3rs7ewhnp7lly/verifiable-presentation.jwt" + } + ] +} ++ +
Normative Definition | +JSON-LD | +
---|---|
+ DIDComm Messaging + | ++ A valid JSON-LD context needs to be published. + DIDComm Messaging + | +
+{ + "@context":[ + "https://www.w3.org/ns/did/v1", + "https://didcomm.org/messaging/contexts/v2" + ], + "type":"DIDCommMessaging", + "serviceEndpoint": { + "uri": "http://example.com/path", + "accept":[ "didcomm/v2", "didcomm/aip2;env=rfc587" ], + "routingKeys":[ "did:example:somemediator#somekey" ] + } +} ++ +
The WotThing
and WotDirectory
endpoints allow publication of service endpoints in a DID document
+ that can be used to fetch Web of Things (WoT) Thing Descriptions (TDs).
+ The WotThing
endpoint is a REST service that returns a TD
+ when the GET
method is used.
+ This can be used for self-describing devices or services, or be a service
+ separate from the actual device or service described by the TD.
+ The WotDirectory
is also a REST service that returns a TD, but this service is always
+ a Web of Things (WoT) Thing Description Directory (TDD),
+ and the TD returned by a GET
always describes the TDD's interface.
+ Details (including normative statements covering the above) are in the
+ WoT Discovery specification.
+
Normative Definition | +JSON-LD | +
---|---|
+ WoT Discovery + | ++ WotThing + | +
+ WoT Discovery + | ++ WotDirectory + | +
+{ + "@context":[ + "https://www.w3.org/ns/did/v1", + "https://www.w3.org/2022/wot/discovery-did" + ], + ... + "service": [{ + "id": "did:example:wotdiscoveryexample#td", + "type": "WotThing", + "serviceEndpoint": + "https://wot.example.com/.well-known/wot" + }] + ... +} ++ +
+{ + "@context":[ + "https://www.w3.org/ns/did/v1", + "https://www.w3.org/2022/wot/discovery-did" + ], + ... + "service": [{ + "id": "did:example:wotdiscoveryexample#tdd", + "type": "WotDirectory", + "serviceEndpoint": + "https://wot.example.com/tdd" + }] + ... +} ++ +
The CredentialRegistry
endpoint allows publication of a dedicated service endpoint in a DID document, through which verifiable credentials can be queried. Each registry endpoint is a REST endpoint. When a `GET` request is sent to the URI formed by appending the credentialSubject.id
as a URL-encoded string to the given endpoint URI, the registry MUST return an array of verifiable credentials associated with the subject ID. A sample registry endpoint can be found here.
+ Verifiable credential registries are supposed to hold credentials that are publicly accessible by default, e.g., for product passports on a product type level. An additional authentication for limiting access to certain credentials is currently under development. +
+Normative Definition | +JSON-LD | +
---|---|
+ Verifiable Credential Registry + | ++ Verifiable Credential Registry + | +
+{ + ... + "service": [ + { + "id": "did:example:123#vcregistry-1", + "type": "CredentialRegistry", + "serviceEndpoint": { + "registries": ["https://registry.example.com/{credentialSubject.id}", "https://identity.foundation/vcs/{credentialSubject.id}"] + } + }, + { + "id": "did:example:123#vcregistry-2", + "type": "CredentialRegistry", + "serviceEndpoint": "https://ssi.eecc.de/api/registry/vcs/{credentialSubject.id}" + } + ] +} ++
+$ curl 'https://ssi.eecc.de/api/registry/vcs/https%3A%2F%2Ftest.de%2Ftest1' -H 'accept: application/ld+json, application/json' + +[ + { + "@context": ["https://www.w3.org/2018/credentials/v1",... ], + "type": ["VerifiableCredential",...], + "credentialSubject": {...}, + "proof": {...}, + ... + }, + ... +] ++
The OID4VCI
service allows publication of a credential issuer that conforms to the OpenID for Verifiable Credential Issuance (OID4VCI) specification.
+
The service endpoint `id` MUST be the Credential Issuer Identifier to get the Credential Issuer Metadata as described in Section Credential Issuer Metadata of OpenIDVCI.
+Normative Definition | +JSON-LD | +
---|---|
+ OpenID4VCI + | ++ OpenID4VCI + | +
+{ + ... + "service": [ + { + "id": "did:example:123#oid4vci", + "type": "OID4VCI", + "serviceEndpoint": "https://issuer.example.com/" + } + ] +} ++
The OID4VP
service allows publication of how to interact with a credential wallet that conforms with the OpenID for Verifiable Presentation (OID4VP) specification.
The service endpoint `id` MUST be the Wallet (OAuth2) Issuer Identifier to obtain Wallet Metadata to invoke the wallet as described in section Wallet Invocation.
+Normative Definition | +JSON-LD | +
---|---|
+ OpenID4VP + | ++ OpenID4VP + | +
+{ + ... + "service": [ + { + "id": "did:example:123#oid4vp", + "type": "OID4VP", + "serviceEndpoint": "https://wallet.example.com" + } + ] +} ++
+This document serves as a collection of known DID Resolution and Dereferencing +extensions. +
++Comments regarding this document are welcome. Please file issues +directly on +GitHub, +or send them +to public-did-wg@w3.org ( +subscribe, +archives). +
+ ++Portions of the work on this specification have been funded by the +United States Department of Homeland Security's Science and Technology +Directorate under contracts HSHQDC-16-R00012-H-SB2016-1-002, 70RSAT20T00000010, +and HSHQDC-17-C-00019. The content of this specification does not +necessarily reflect the position or the policy of the U.S. Government +and no official endorsement should be inferred. +
+ ++Work on this registry has also been supported by the Rebooting the +Web of Trust community facilitated by Christopher Allen, Shannon +Appelcline, Kiara Robles, Brian Weller, Betty Dhamers, Kaliya Young, +Kim Hamilton Duffy, Manu Sporny, Drummond Reed, Joe Andrieu, and +Heather Vescent, Dmitri Zagidulin, and Dan Burnett. +
++This document serves as a collection of known DID Resolution and Dereferencing +extensions. +
+ ++ The registration process is described in the [[[DID-EXTENSIONS]]]. +
+This table provides a reference for media types and the associated specifications for producing and consuming those representations.
+Media Type | +Specification | +
---|---|
application/did+json | ++ DID Core + | +
application/did+ld+json | ++ DID Core + | +
application/did+cbor | ++ The Plain CBOR Representation + | +
+These are entries in DID documents that are specific to the +JSON representation. +
++(No entries yet) +
++These are entries in DID documents that are specific to the +JSON-LD representation. +
+ +Normative Definition | +
---|
+ DID Core + | +
+The following values are acceptable values for the @context
entry as
+a JSON
+ String or first item of a JSON Array,
+represented as a JSON
+ String.
+
`@context` Values | +Specification Version | +
---|---|
+ https://www.w3.org/ns/did/v1 + | ++ DID Core 1.0 Working draft + | +
+{ + "@context": [ + "https://www.w3.org/ns/did/v1", + "https://example.com/blockchain-identity/v1" + ], + ... +} ++ +
+These are entries in DID documents that are specific to the +CBOR representation. +
++(No entries yet) +
++These properties contain information pertaining to the DID resolution request. +
+ +Normative Definition | ++ |
---|---|
+ DID Core + | ++ |
+{ + "accept": "application/did+ld+json" +} ++
+These properties contain information pertaining to the DID resolution response. +
+Normative Definition | ++ |
---|---|
+ DID Core + | ++ |
+{ + "contentType": "application/did+ld+json" +} ++
Normative Definition | ++ |
---|---|
+ DID Core + | ++ | +
+{ + "error": "notFound" +} ++ +
Normative Definition | +
---|
+ DID Core + | +
+{ + "error": "invalidDid" +} ++
Normative Definition | +
---|
+ DID Core + | +
+{ + "error": "notFound" +} ++
Normative Definition | +
---|
+ DID Core + | +
+{ + "error": "representationNotSupported" +} ++
Normative Definition | +
---|
+ DID Resolution + | +
+{ + "error": "methodNotSupported" +} ++
Normative Definition | +
---|
+ DID Resolution + | +
+{ + "error": "internalError" +} ++
Normative Definition | +
---|
+ DID Resolution + | +
+{ + "error": "invalidPublicKey" +} ++
Normative Definition | +
---|
+ DID Resolution + | +
+{ + "error": "invalidPublicKeyLength" +} ++
Normative Definition | +
---|
+ DID Resolution + | +
+{ + "error": "invalidPublicKeyType" +} ++
Normative Definition | +
---|
+ DID Resolution + | +
+{ + "error": "unsupportedPublicKeyType" +} ++
Normative Definition | +
---|
+ DID Spec Extension: notAllowedVerificationMethodType + | +
+{ + "error": "notAllowedVerificationMethodType" +} ++
Normative Definition | +
---|
+ DID Spec Extension: notAllowedKeyType + | +
+{ + "error": "notAllowedKeyType" +} ++
Normative Definition | +
---|
+ DID Spec Extension: notAllowedMethod + | +
+{ + "error": "notAllowedMethod" +} ++
Normative Definition | +
---|
+ DID Spec Extension: notAllowedCertificate + | +
+{ + "error": "notAllowedCertificate" +} ++
Normative Definition | +
---|
+ DID Spec Extension: notAllowedLocalDuplicateKey + | +
+{ + "error": "notAllowedLocalDuplicateKey" +} ++
Normative Definition | +
---|
+ DID Spec Extension: notAllowedLocalDerivedKey + | +
+{ + "error": "notAllowedLocalDerivedKey" +} ++
Normative Definition | +
---|
+ DID Spec Extension: notAllowedGlobalDuplicateKey + | +
+{ + "error": "notAllowedGlobalDuplicateKey" +} ++
+These properties contain information pertaining to the DID dereferencing response. +
+Normative Definition | ++ |
---|---|
+ DID Core + | ++ | +
+{ + "error": "notFound" +} ++
Normative Definition | +
---|
+ DID Core + | +
+{ + "error": "invalidDidUrl" +} ++
Normative Definition | +
---|
+ DID Core + | +
+{ + "error": "notFound" +} ++
+These properties contain information pertaining to the DID document itself, +rather than the DID subject. +
++ See DID Core #203. +
+Normative Definition | +JSON-LD | +
---|---|
+ DID Core + | ++ DID Core + | +
+{ + "created": "2019-03-23T06:35:22Z" +} ++
+ See DID Core #203. +
+Normative Definition | +JSON-LD | +
---|---|
+ DID Core + | + ++ DID Core + | +
+{ + "updated": "2023-08-10T13:40:06Z" +} ++ +
Normative Definition | +JSON-LD | +
---|---|
+ DID Core + | + ++ DID Core + | +
+{ + "deactivated": true +} ++ +
Normative Definition | +JSON-LD | +
---|---|
+ DID Core + | + ++ DID Core + | +
+{ + "nextUpdate": "2023-08-10T13:40:06Z" +} ++ +
Normative Definition | +JSON-LD | +
---|---|
+ DID Core + | + ++ DID Core + | +
+{ + "versionId": "bafyreifederejlobaec6kwpl2mc3tw7qk3j3ey4uytkbiw2qw7dzylud6i" +} ++ +
Normative Definition | +JSON-LD | +
---|---|
+ DID Core + | + ++ DID Core + | +
+{ + "nextVersionId": "bafyreifederejlobaec6kwpl2mc3tw7qk3j3ey4uytkbiw2qw7dzylud6i" +} ++ +
Normative Definition | +JSON-LD | +
---|---|
+ DID Core + | + ++ DID Core + | +
+{ + "equivalentId": ["did:example:ABC", "did:example:Abc"] +} ++ +
Normative Definition | +JSON-LD | +
---|---|
+ DID Core + | + ++ DID Core + | +
+{ + "canonicalId": "did:example:ABC" +} ++ +
Normative Definition | +
---|
+ DID Core + | +
+did:example:123?hl=zQmWvQxTqbG2Z9HPJgG57jjwR154cKhbtJenbyYTWkjgF3e ++
Normative Definition | +
---|
+ DID Core + | +
+did:example:123?service=agent ++
Normative Definition | +
---|
+ DID Core + | +
+did:example:123?versionId=4 ++
Normative Definition | +
---|
+ DID Core + | +
+did:example:123?versionTime=2016-10-17T02:41:00Z ++
Normative Definition | +
---|
+ DID Core + | +
+did:example:123?service=files&relativeRef=%2Fmyresume%2Fdoc%3Fversion%3Dlatest%23intro ++
Normative Definition | +
---|
+ DID Spec Extensions by DIF + | +
+did:example:123?initialState=eyJkZWx0YV9oYXNoIjoiRWlDUlRKZ2Q0U0V2YUZDLW9fNUZjQnZJUkRtWF94Z3RLX3g... ++
Normative Definition | +
---|
+ DID Spec Extensions by DIF + | +
+did:example:123?transformKeys=jwk ++
Normative Definition | +
---|
+ DID Spec Extensions by DIF + | +
+did:example:123?signedIetfJsonPatch=eyJraWQiOiJkaWQ6ZXhhbXBsZTo0NTYjX1FxMFVMMkZxNjUxUTBGamQ2VH... ++
Normative Definition | +
---|
+ DID URL Resource Parameter Specification + | +
+did:foo:21tDAKCERh95uGgKbJNHYp?resource=true ++
+ Copyright + © + 2020 + + W3C® (MIT, + ERCIM, Keio, + Beihang). + W3C liability, + trademark and permissive document license rules + apply. +
++
++This document serves as an official registry for all known global parameters, +properties, and values used by the Decentralized Identifier ecosystem. +
+This section describes the status of this + document at the time of its publication. Other documents may supersede + this document. A list of current W3C publications and the latest revision + of this technical report can be found in the + W3C technical reports index at + https://www.w3.org/TR/.
+ ++This registry is under active development and implementers are advised +against using the registry unless they are directly involved with the +W3C DID Working Group. +
+ ++Comments regarding this document are welcome. Please file issues +directly on GitHub, +or send them +to public-did-wg@w3.org ( +subscribe, +archives). +
+ ++Portions of the work on this specification have been funded by the +United States Department of Homeland Security's Science and Technology +Directorate under contracts HSHQDC-16-R00012-H-SB2016-1-002, 70RSAT20T00000010, +and HSHQDC-17-C-00019. The content of this specification does not +necessarily reflect the position or the policy of the U.S. Government +and no official endorsement should be inferred. +
+ ++Work on this registry has also been supported by the Rebooting the +Web of Trust community facilitated by Christopher Allen, Shannon +Appelcline, Kiara Robles, Brian Weller, Betty Dhamers, Kaliya Young, +Kim Hamilton Duffy, Manu Sporny, Drummond Reed, Joe Andrieu, and +Heather Vescent, Dmitri Zagidulin, and Dan Burnett. +
++ This document was published by the Decentralized Identifier Working Group as a + First Public Working Group Note. + +
+ GitHub Issues are preferred for + discussion of this specification. + + Alternatively, you can send comments to our mailing list. + Please send them to + public-did-wg@w3.org + (archives). + +
+ Publication as a Working Group Note does not imply endorsement by the W3C + Membership. This is a draft document and may be updated, replaced or + obsoleted by other documents at any time. It is inappropriate to cite this + document as other than work in progress. +
+ + This document was produced by a group + operating under the + W3C Patent Policy. + + + +
+ This document is governed by the + 1 March 2019 W3C Process Document. +
+ As well as sections marked as non-normative, all authoring guidelines, diagrams, examples, and notes in this specification are non-normative. Everything else in this specification is normative. +
+ The key words MAY, MUST, MUST NOT, and SHOULD in this document + are to be interpreted as described in + BCP 14 + [RFC2119] [RFC8174] + when, and only when, they appear in all capitals, as shown here. +
This section is non-normative.
+ ++This document serves as an official registry for all known global parameters, +properties, and values used by the Decentralized Identifier ecosystem. +
++Software implementers might find that the existing Decentralized Identifier Core +specification [DID-CORE] is not entirely capable of addressing their use case +and might need to add a new parameters, properties, or values to this registry +in order to achieve their use case in a globally interoperable fashion. In order +to add a new parameter, property, or value to this registry, an implementer MUST +submit a modification request for this registry, as a Github Pull Request, where +the modification request adheres to the following rules: +
+ +@protected
+feature to eliminate the possibility of term conflicts.
+ +Additions that do not meet these criteria MUST NOT be accepted. Entries that +are identified to cause interoperability problems MAY be marked as such +at the discretion of the maintainers of this registry, and if possible, after +consultation with the entry maintainer. +
++The following section defines the properties available for use in a DID +document. Note that some of these properties are defined in the +DID Core Specification, and +others are defined elsewhere and may be method- or domain-specific. Please read +the associated specifications to ensure that the properties you use are +appropriate for your implementation. The properties are arranged here according +to the purpose they serve. +
+ ++This registry is a work in progress and some properties are missing normative +definitions. We are working on this! This does NOT mean that in future it will +be possible to submit items to the registry without normative definitions (see § 3. The Registration Process). +
+These properties are foundational to DID documents, and are expected to be +useful to all DID methods. +
Normative Definition | +JSON Schema | +JSON-LD | +CBOR | +
---|---|---|---|
+ DID Core + | ++ JSON Schema + | ++ /did/v1 + | ++ | +
{
+ "@context": [
+ "https://www.w3.org/ns/did/v1",
+ "https://example.com/blockchain-identity/v1"
+ ],
+ ...
+}
+ Normative Definition | +JSON Schema | +JSON-LD | +CBOR | +
---|---|---|---|
+ DID Core + | ++ JSON Schema + | ++ /did/v1 + | ++ | +
{
+ "id": "did:example:123",
+ ...
+}
+ Normative Definition | +JSON Schema | +JSON-LD | +CBOR | +
---|---|---|---|
+ DID Core + | ++ JSON Schema + | ++ /did/v1 + | ++ | +
{
+ "controller": "did:example:123",
+ ...
+}
+ Normative Definition | +JSON Schema | +JSON-LD | +CBOR | +
---|---|---|---|
+ DID Core Terminology (property definition pending) + | ++ | ++ /did/v1 + | ++ | +
+This property may be replaced entirely by verificationMethod
in
+DID Core. See issue
+#283.
+
Normative Definition | +JSON Schema | +JSON-LD | +CBOR | +
---|---|---|---|
+ DID Core + | ++ JSON Schema + | ++ /did/v1 + | ++ | +
{
+ "id": "did:example:123",
+ "publicKey": [
+ {
+ "id": "did:example:123#ZC2jXTO6t4R501bfCXv3RxarZyUbdP2w_psLwMuY6ec",
+ "type": "Ed25519VerificationKey2018",
+ "controller": "did:example:123",
+ "publicKeyBase58": "H3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV"
+ },
+ {
+ "id": "did:example:123#WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q",
+ "type": "EcdsaSecp256k1VerificationKey2019",
+ "controller": "did:example:123",
+ "publicKeyJwk": {
+ "crv": "secp256k1",
+ "x": "NtngWpJUr-rlNNbs0u-Aa8e16OwSJu6UiFf0Rdo1oJ4",
+ "y": "qN1jKupJlFsPFc1UkWinqljv4YE0mq_Ickwnjgasvmo",
+ "kty": "EC",
+ "kid": "WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q"
+ }
+ }
+ ]
+}
+ Normative Definition | +JSON Schema | +JSON-LD | +CBOR | +
---|---|---|---|
+ DID Core + | ++ JSON Schema + | ++ /did/v1 + | ++ | +
{
+ ...
+ "service": [{
+ "id": "did:example:123#edv",
+ "type": "EncryptedDataVault",
+ "serviceEndpoint": "https://edv.example.com/"
+ }]
+}
+ +Subject to removal from DID Core - see +issue #293. +
Normative Definition | +JSON Schema | +JSON-LD | +CBOR | +
---|---|---|---|
+ DID Core + | ++ | ++ /did/v1 + | ++ | +
+These terms are properties or types belonging to objects in the value of +service. +
+Normative Definition | +JSON Schema | +JSON-LD | +CBOR | +
---|---|---|---|
+ DID Core + | ++ JSON Schema + | ++ /did/v1 + | ++ | +
{
+ ...
+ "service": [{
+ "id": "did:example:123#edv",
+ "type": "EncryptedDataVault",
+ "serviceEndpoint": "https://edv.example.com/"
+ }]
+}
+ +A DID document expresses the relationship between the DID subject and a +verification method using a + +verification relationship. +
+Normative Definition | +JSON Schema | +JSON-LD | +CBOR | +
---|---|---|---|
+ security-vocab + | ++ JSON Schema + | ++ /did/v1 + | ++ | +
{
+ ...
+ "publicKey": [{
+ "id": "did:example:123#WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q",
+ "type": "EcdsaSecp256k1VerificationKey2019",
+ "controller": "did:example:123",
+ "publicKeyJwk": {
+ "crv": "secp256k1",
+ "x": "NtngWpJUr-rlNNbs0u-Aa8e16OwSJu6UiFf0Rdo1oJ4",
+ "y": "qN1jKupJlFsPFc1UkWinqljv4YE0mq_Ickwnjgasvmo",
+ "kty": "EC",
+ "kid": "WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q"
+ }
+ }],
+ "assertionMethod": [{
+ "id": "did:example:123#z6MkpzW2izkFjNwMBwwvKqmELaQcH8t54QL5xmBdJg9Xh1y4",
+ "type": "Ed25519VerificationKey2018",
+ "controller": "did:example:123",
+ "publicKeyBase58": "BYEz8kVpPqSt5T7DeGoPVUrcTZcDeX5jGkGhUQBWmoBg"
+ },
+ "did:example:123#WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q"
+ ]
+}
+ Normative Definition | +JSON Schema | +JSON-LD | +CBOR | +
---|---|---|---|
+ DID Core + | ++ JSON Schema + | ++ /did/v1 + | ++ | +
{
+ ...
+ "publicKey": [{
+ "id": "did:example:123#WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q",
+ "type": "EcdsaSecp256k1VerificationKey2019",
+ "controller": "did:example:123",
+ "publicKeyJwk": {
+ "crv": "secp256k1",
+ "x": "NtngWpJUr-rlNNbs0u-Aa8e16OwSJu6UiFf0Rdo1oJ4",
+ "y": "qN1jKupJlFsPFc1UkWinqljv4YE0mq_Ickwnjgasvmo",
+ "kty": "EC",
+ "kid": "WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q"
+ }
+ }],
+ "authentication": [{
+ "id": "did:example:123#z6MkpzW2izkFjNwMBwwvKqmELaQcH8t54QL5xmBdJg9Xh1y4",
+ "type": "Ed25519VerificationKey2018",
+ "controller": "did:example:123",
+ "publicKeyBase58": "BYEz8kVpPqSt5T7DeGoPVUrcTZcDeX5jGkGhUQBWmoBg"
+ },
+ "did:example:123#WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q"
+ ]
+}
+ Normative Definition | +JSON Schema | +JSON-LD | +CBOR | +
---|---|---|---|
+ security-vocab + | ++ JSON Schema + | ++ /did/v1 + | ++ | +
{
+ ...
+ "publicKey": [{
+ "id": "did:example:123#WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q",
+ "type": "EcdsaSecp256k1VerificationKey2019",
+ "controller": "did:example:123",
+ "publicKeyJwk": {
+ "crv": "secp256k1",
+ "x": "NtngWpJUr-rlNNbs0u-Aa8e16OwSJu6UiFf0Rdo1oJ4",
+ "y": "qN1jKupJlFsPFc1UkWinqljv4YE0mq_Ickwnjgasvmo",
+ "kty": "EC",
+ "kid": "WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q"
+ }
+ }],
+ "capabilityDelegation": [{
+ "id": "did:example:123#z6MkpzW2izkFjNwMBwwvKqmELaQcH8t54QL5xmBdJg9Xh1y4",
+ "type": "Ed25519VerificationKey2018",
+ "controller": "did:example:123",
+ "publicKeyBase58": "BYEz8kVpPqSt5T7DeGoPVUrcTZcDeX5jGkGhUQBWmoBg"
+ },
+ "did:example:123#WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q"
+ ]
+}
+ Normative Definition | +JSON Schema | +JSON-LD | +CBOR | +
---|---|---|---|
+ security-vocab + | ++ JSON Schema + | ++ /did/v1 + | ++ | +
{
+ ...
+ "publicKey": [{
+ "id": "did:example:123#WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q",
+ "type": "EcdsaSecp256k1VerificationKey2019",
+ "controller": "did:example:123",
+ "publicKeyJwk": {
+ "crv": "secp256k1",
+ "x": "NtngWpJUr-rlNNbs0u-Aa8e16OwSJu6UiFf0Rdo1oJ4",
+ "y": "qN1jKupJlFsPFc1UkWinqljv4YE0mq_Ickwnjgasvmo",
+ "kty": "EC",
+ "kid": "WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q"
+ }
+ }],
+ "capabilityInvocation": [{
+ "id": "did:example:123#z6MkpzW2izkFjNwMBwwvKqmELaQcH8t54QL5xmBdJg9Xh1y4",
+ "type": "Ed25519VerificationKey2018",
+ "controller": "did:example:123",
+ "publicKeyBase58": "BYEz8kVpPqSt5T7DeGoPVUrcTZcDeX5jGkGhUQBWmoBg"
+ },
+ "did:example:123#WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q"
+ ]
+}
+ Normative Definition | +JSON Schema | +JSON-LD | +CBOR | +
---|---|---|---|
+ security-vocab + | ++ JSON Schema + | ++ /did/v1 + | ++ | +
{
+ ...
+ "keyAgreement": [
+ {
+ "id": "did:example:123#zC9ByQ8aJs8vrNXyDhPHHNNMSHPcaSgNpjjsBYpMMjsTdS",
+ "type": "X25519KeyAgreementKey2019",
+ "controller": "did:example:123",
+ "publicKeyBase58": "9hFgmPVfmBZwRvFEyniQDBkz9LmV7gDEqytWyGZLmDXE"
+ }
+ ]
+}
+ +These properties are for use on a verification method object, not on the DID document itself. +
+Normative Definition | +JSON Schema | +JSON-LD | +CBOR | +
---|---|---|---|
+ ESRS2020 + | ++ | ++ esrs2020 + | + ++ | +
{
+ "@context":[
+ "https://www.w3.org/ns/did/v1",
+ "https://identity.foundation/EcdsaSecp256k1RecoverySignature2020#"
+ ],
+ "id":"did:example:123",
+ "publicKey":[{
+ "id": "did:example:123#vm-3",
+ "controller": "did:example:123",
+ "type": "EcdsaSecp256k1RecoveryMethod2020",
+ "ethereumAddress": "0xF3beAC30C498D9E26865F34fCAa57dBB935b0D74"
+ }]
+}
+ Normative Definition | +JSON Schema | +JSON-LD | +CBOR | +
---|---|---|---|
+ ESRS2020 + | ++ | ++ esrs2020 + | + ++ | +
{
+ "@context":[
+ "https://www.w3.org/ns/did/v1",
+ "https://identity.foundation/EcdsaSecp256k1RecoverySignature2020#"
+ ],
+ "id":"did:example:123",
+ "publicKey":[{
+ "id": "did:example:123#vm-2",
+ "controller": "did:example:123",
+ "type": "EcdsaSecp256k1RecoveryMethod2020",
+ "publicKeyHex": "027560af3387d375e3342a6968179ef3c6d04f5d33b2b611cf326d4708badd7770"
+ }]
+}
+ Normative Definition | +JSON Schema | +JSON-LD | +CBOR | +
---|---|---|---|
+ Normative definition pending + | ++ | ++ /did/v1 + | ++ | +
{
+ "id": "did:example:123#_Qq0UL2Fq651Q0Fjd6TvnYE-faHiOpRlPVQcY_-tA4A",
+ "type": "JsonWebKey2020",
+ "controller": "did:example:123",
+ "publicKeyJwk": {
+ "crv": "Ed25519",
+ "x": "VCpo2LMLhn6iWku8MKvSLg2ZAoC-nlOyPVQaO3FxVeQ",
+ "kty": "OKP",
+ "kid": "_Qq0UL2Fq651Q0Fjd6TvnYE-faHiOpRlPVQcY_-tA4A"
+ }
+},
+ Normative Definition | +JSON Schema | +JSON-LD | +CBOR | +
---|---|---|---|
+ security-vocab + | ++ | ++ /did/v1 + | ++ | +
Normative Definition | +JSON Schema | +JSON-LD | +CBOR | +
---|---|---|---|
+ security-vocab + | ++ | ++ /did/v1 + | ++ | +
+These are classes not a properties - in other words, use them
+for the value of type
in a verification method object.
+
+ISSUE 240 on DID Core: The duplication and/or possible interaction of properties held in a JWK and a verification method are an active topic of discussion in the Working Group. Implementers are cautioned that the behavior of values associated with this property are not stable and might change in the future. +
Normative Definition | +JSON Schema | +JSON-LD | +CBOR | +
---|---|---|---|
+ Normative definition pending + | ++ JSON Schema + | ++ | ++ | +
{
+ "id": "did:example:123#_TKzHv2jFIyvdTGF1Dsgwngfdg3SH6TpDv0Ta1aOEkw",
+ "type": "JwsVerificationKey2020",
+ "controller": "did:example:123",
+ "publicKeyJwk": {
+ "crv": "P-256",
+ "x": "38M1FDts7Oea7urmseiugGW7tWc3mLpJh6rKe7xINZ8",
+ "y": "nDQW6XZ7b_u2Sy9slofYLlG03sOEoug3I0aAPQ0exs4",
+ "kty": "EC",
+ "kid": "_TKzHv2jFIyvdTGF1Dsgwngfdg3SH6TpDv0Ta1aOEkw"
+ }
+}
+ Normative Definition | +JSON Schema | +JSON-LD | +CBOR | +
---|---|---|---|
+ Ecdsa Secp256k1 Signature 2019 + | ++ JSON Schema + | ++ /did/v1 + | ++ | +
{
+ "id": "did:example:123#WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q",
+ "type": "EcdsaSecp256k1VerificationKey2019",
+ "controller": "did:example:123",
+ "publicKeyJwk": {
+ "crv": "secp256k1",
+ "x": "NtngWpJUr-rlNNbs0u-Aa8e16OwSJu6UiFf0Rdo1oJ4",
+ "y": "qN1jKupJlFsPFc1UkWinqljv4YE0mq_Ickwnjgasvmo",
+ "kty": "EC",
+ "kid": "WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q"
+ }
+}
+ Normative Definition | +JSON Schema | +JSON-LD | +CBOR | +
---|---|---|---|
+ Ed25519 Signature 2018 + | ++ JSON Schema + | ++ /did/v1 + | ++ | +
{
+ "id": "did:example:123#ZC2jXTO6t4R501bfCXv3RxarZyUbdP2w_psLwMuY6ec",
+ "type": "Ed25519VerificationKey2018",
+ "controller": "did:example:123",
+ "publicKeyBase58": "H3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV"
+}
+ + No support for "Pure JSON" or "CBOR" is currently provided. +
Normative Definition | +JSON Schema | +JSON-LD | +CBOR | +
---|---|---|---|
+ Linked Data Signatures for GPG + | ++ Not supported + | ++ gpg.jsld.org + | ++ Not supported + | +
{
+ "@context":[
+ "https://www.w3.org/ns/did/v1",
+ "https://gpg.jsld.org/contexts/lds-gpg2020-v0.0.jsonld"
+ ],
+ "id":"did:example:123",
+ "publicKey":[{
+ "id": "did:example:123#989ed1057a294c8a3665add842e784c4d08de1e2",
+ "type": "GpgVerificationKey2020",
+ "controller": "did:example:123",
+ "publicKeyGpg": "-----BEGIN PGP PUBLIC KEY BLOCK-----\r\nVersion: OpenPGP.js v4.9.0\r\nComment: https://openpgpjs.org\r\n\r\nxjMEXkm5LRYJKwYBBAHaRw8BAQdASmfrjYr7vrjwHNiBsdcImK397Vc3t4BL\r\nE8rnN......v6\r\nDw==\r\n=wSoi\r\n-----END PGP PUBLIC KEY BLOCK-----\r\n"
+ }]
+}
+ Normative Definition | +JSON Schema | +JSON-LD | +CBOR | +
---|---|---|---|
+ RSA Signature Suite 2018 + | ++ | ++ /did/v1 + | ++ | +
{
+ "id": "did:example:123#key-0",
+ "type": "RsaVerificationKey2018",
+ "controller": "did:example:123",
+ "publicKeyPem": "-----BEGIN PUBLIC KEY...END PUBLIC KEY-----\r\n"
+}
+ Normative Definition | +JSON Schema | +JSON-LD | +CBOR | +
---|---|---|---|
+ Normative definition pending + | ++ | ++ | ++ | +
{
+ ...
+ "keyAgreement": [
+ {
+ "id": "did:example:123#zC9ByQ8aJs8vrNXyDhPHHNNMSHPcaSgNpjjsBYpMMjsTdS",
+ "type": "X25519KeyAgreementKey2019",
+ "controller": "did:example:123",
+ "publicKeyBase58": "9hFgmPVfmBZwRvFEyniQDBkz9LmV7gDEqytWyGZLmDXE"
+ }
+ ]
+}
+ Normative Definition | +JSON Schema | +JSON-LD | +CBOR | +
---|---|---|---|
+ security-vocab Link is to a placeholder! Definition pending + | ++ | ++ /did/v1 + | ++ | +
Normative Definition | +JSON Schema | +JSON-LD | +CBOR | +
---|---|---|---|
+ ESRS2020 + | ++ | ++ esrs2020 + | ++ | +
{
+"@context":[
+ "https://www.w3.org/ns/did/v1",
+ "https://identity.foundation/EcdsaSecp256k1RecoverySignature2020#"
+],
+"id":"did:example:123",
+"publicKey":[{
+ "id": "did:example:123#vm-1",
+ "controller": "did:example:123",
+ "type": "EcdsaSecp256k1RecoveryMethod2020",
+ "publicKeyJwk": {
+ "crv": "secp256k1",
+ "kid": "JUvpllMEYUZ2joO59UNui_XYDqxVqiFLLAJ8klWuPBw",
+ "kty": "EC",
+ "x": "dWCvM4fTdeM0KmloF57zxtBPXTOythHPMm1HCLrdd3A",
+ "y": "36uMVGM7hnw-N6GnjFcihWE3SkrhMLzzLCdPMXPEXlA"
+ }
+},
+{
+ "id": "did:example:123#vm-2",
+ "controller": "did:example:123",
+ "type": "EcdsaSecp256k1RecoveryMethod2020",
+ "publicKeyHex": "027560af3387d375e3342a6968179ef3c6d04f5d33b2b611cf326d4708badd7770"
+},
+{
+ "id": "did:example:123#vm-3",
+ "controller": "did:example:123",
+ "type": "EcdsaSecp256k1RecoveryMethod2020",
+ "ethereumAddress": "0xF3beAC30C498D9E26865F34fCAa57dBB935b0D74"
+ }]
+}
+ +These properties contain information pertaining to the DID resolution request. +
+ +Normative Definition | +JSON Schema | +JSON-LD | +CBOR | +
---|---|---|---|
+ | ++ | ++ | ++ | +
+These properties contain information pertaining to the DID resolution response. +
+Normative Definition | +JSON Schema | +JSON-LD | +CBOR | +
---|---|---|---|
+ | ++ | ++ | ++ | +
Normative Definition | +JSON Schema | +JSON-LD | +CBOR | +
---|---|---|---|
+ | ++ | ++ | ++ | +
Normative Definition | +JSON Schema | +JSON-LD | +CBOR | +
---|---|---|---|
+ | ++ | ++ | ++ | +
+These properties contain information pertaining to the DID document iself, +rather than the DID subject. +
+Normative Definition | +JSON Schema | +JSON-LD | +CBOR | +
---|---|---|---|
+ DID Core + | ++ JSON Schema + | ++ /did/v1 + | ++ CBOR + | +
{
+ "created": "2002-10-10T17:00:00Z"
+}
+ Normative Definition | +JSON Schema | +JSON-LD | +CBOR | +
---|---|---|---|
+ DID Core + | ++ JSON Schema + | ++ /did/v1 + | ++ CBOR + | +
{
+ "updated": "2016-10-17T02:41:00Z"
+}
+ +Name + | ++Description + | ++Specification + | +
---|---|---|
+hl
+ |
+ +A resource hash of the DID document to add integrity protection, as +specified in +Hashlink specification. + | ++[DID-CORE] + | +
+service
+ |
+ +Identifies a service from the DID document by service ID. + | ++[DID-CORE] + | +
+version-id
+ |
+ +Identifies a specific version of a DID document to be resolved (the +version ID could be sequential, or a UUID, or method-specific). Note that +this parameter might not be supported by all DID methods. + | ++[DID-CORE] + | +
+version-time
+ |
+ +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. Note that this parameter might not be supported by all DID methods. + | ++[DID-CORE] + | +
+ Example needed. +
+ Example needed. +
+This table summarizes the DID method specifications currently in development. +The links will be updated as subsequent Implementer’s Drafts are produced. +
+ +Method Name | +Status | +DLT or Network | +Authors | +Link | +
---|---|---|---|---|
+ did:abt: + | ++ PROVISIONAL + | ++ ABT Network + | ++ ArcBlock + | ++ ABT DID Method + | +
+ did:btcr: + | ++ PROVISIONAL + | ++ Bitcoin + | ++ Christopher Allen, Ryan Grant, Kim Hamilton Duffy + | ++ BTCR DID Method + | +
+ did:stack: + | ++ PROVISIONAL + | ++ Bitcoin + | ++ Jude Nelson + | ++ Blockstack DID Method + | +
+ did:erc725: + | ++ PROVISIONAL + | ++ Ethereum + | ++ Markus Sabadello, Fabian Vogelsteller, Peter Kolarov + | ++ erc725 DID Method + | +
+ did:example: + | ++ PROVISIONAL + | ++ DID Specification + | ++ W3C Credentials Community Group + | ++ DID Specification + | +
+ did:ipid: + | ++ PROVISIONAL + | ++ IPFS + | ++ TranSendX + | ++ IPID DID method + | +
+ did:life: + | ++ PROVISIONAL + | ++ RChain + | ++ lifeID Foundation + | ++ lifeID DID Method + | +
+ did:sov: + | ++ PROVISIONAL + | ++ Sovrin + | ++ Mike Lodder + | ++ Sovrin DID Method + | +
+ did:uport: + | ++ DEPRECATED + | ++ Ethereum + | ++ uPort + | ++ | +
+ did:ethr: + | ++ PROVISIONAL + | ++ Ethereum + | ++ uPort + | ++ ETHR DID Method + | +
+ did:v1: + | ++ PROVISIONAL + | ++ Veres One + | ++ Digital Bazaar + | ++ Veres One DID Method + | +
+ did:com: + | ++ PROVISIONAL + | ++ commercio.network + | ++ Commercio Consortium + | ++ Commercio.network DID Method + | +
+ did:dom: + | ++ PROVISIONAL + | ++ Ethereum + | ++ Dominode + | ++ | +
+ did:ont: + | ++ PROVISIONAL + | ++ Ontology + | ++ Ontology Foundation + | ++ Ontology DID Method + | +
+ did:vvo: + | ++ PROVISIONAL + | ++ Vivvo + | ++ Vivvo Application Studios + | ++ Vivvo DID Method + | +
+ did:aergo: + | ++ PROVISIONAL + | ++ Aergo + | ++ Blocko + | ++ Aergo DID Method + | +
+ did:icon: + | ++ PROVISIONAL + | ++ ICON + | ++ ICONLOOP + | ++ ICON DID Method + | +
+ did:iwt: + | ++ PROVISIONAL + | ++ InfoWallet + | ++ Raonsecure + | ++ InfoWallet DID Method + | +
+ did:ockam: + | ++ PROVISIONAL + | ++ Ockam + | ++ Ockam + | ++ Ockam DID Method + | +
+ did:ala: + | ++ PROVISIONAL + | ++ Alastria + | ++ Alastria National Blockchain Ecosystem + | ++ Alastria DID Method + | +
+ did:op: + | ++ PROVISIONAL + | ++ Ocean Protocol + | ++ Ocean Protocol + | ++ Ocean Protocol DID Method + | +
+ did:jlinc: + | ++ PROVISIONAL + | ++ JLINC Protocol + | ++ Victor Grey + | ++ JLINC Protocol DID Method + | +
+ did:ion: + | ++ PROVISIONAL + | ++ Bitcoin + | ++ Various DIF contributors + | ++ ION DID Method + | +
+ did:jolo: + | ++ PROVISIONAL + | ++ Ethereum + | ++ Jolocom + | ++ Jolocom DID Method + | +
+ did:bryk: + | ++ PROVISIONAL + | ++ bryk + | ++ Marcos Allende, Sandra Murcia, Flavia Munhoso, Ruben Cessa + | ++ bryk DID Method + | +
+ did:peer: + | ++ PROVISIONAL + | ++ peer + | ++ Daniel Hardman + | ++ peer DID Method + | +
+ did:selfkey: + | ++ PROVISIONAL + | ++ Ethereum + | ++ SelfKey + | ++ SelfKey DID Method + | +
+ did:meta: + | ++ PROVISIONAL + | ++ Metadium + | ++ Metadium Foundation + | ++ Metadium DID Method + | +
+ did:tys: + | ++ PROVISIONAL + | ++ DID Specification + | ++ Chainyard + | ++ TYS DID Method + | +
+ did:git: + | ++ PROVISIONAL + | ++ DID Specification + | ++ Internet Identity Workshop + | ++ Git DID Method + | +
+ did:tangle: + | ++ PROVISIONAL + | ++ IOTA Tangle + | ++ BiiLabs Co., Ltd. + | ++ TangleID DID Method + | +
+ did:emtrust: + | ++ PROVISIONAL + | ++ Hyperledger Fabric + | ++ Halialabs Pte Ltd. + | ++ Emtrust DID Method + | +
+ did:ttm: + | ++ PROVISIONAL + | ++ TMChain + | ++ Token.TM + | ++ TM DID Method + | +
+ did:wlk: + | ++ PROVISIONAL + | ++ Weelink Network + | ++ Weelink + | ++ Weelink DID Method + | +
+ did:pistis: + | ++ PROVISIONAL + | ++ Ethereum + | ++ Andrea Taglia, Matteo Sinico + | ++ Pistis DID Method + | +
+ did:holo: + | ++ PROVISIONAL + | ++ Holochain + | ++ Holo.Host + | ++ Holochain DID Method + | +
+ did:web: + | ++ PROVISIONAL + | ++ Web + | ++ Oliver Terbu, Mike Xu, Dmitri Zagidulin, Amy Guy + | ++ Web DID Method + | +
+ did:io: + | ++ PROVISIONAL + | ++ IoTeX + | ++ IoTeX Foundation + | ++ IoTeX DID Method + | +
+ did:vaultie: + | ++ PROVISIONAL + | ++ Ethereum + | ++ Vaultie Inc. + | ++ Vaultie DID Method + | +
+ did:moac: + | ++ PROVISIONAL + | ++ MOAC + | ++ MOAC Blockchain Tech, Inc. + | ++ MOAC DID Method + | +
+ did:omn: + | ++ PROVISIONAL + | ++ OmniOne + | ++ OmniOne + | ++ OmniOne DID Method + | +
+ did:work: + | ++ PROVISIONAL + | ++ Hyperledger Fabric + | ++ Workday, Inc. + | ++ Workday DID Method + | +
+ did:vid: + | ++ PROVISIONAL + | ++ VP + | ++ VP Inc. + | ++ VP DID Method + | +
+ did:ccp: + | ++ PROVISIONAL + | ++ Quorum + | ++ Baidu, Inc. + | ++ Cloud DID Method + | +
+ did:jnctn: + | ++ PROVISIONAL + | ++ Jnctn Network + | ++ Jnctn Limited + | ++ JNCTN DID Method + | +
+ did:evan: + | ++ PROVISIONAL + | ++ evan.network + | ++ evan GmbH + | ++ evan.network DID Method + | +
+ did:elastos: + | ++ PROVISIONAL + | ++ Elastos ID Sidechain + | ++ Elastos Foundation + | ++ Elastos DID Method + | +
+ did:kilt: + | ++ PROVISIONAL + | ++ KILT Blockchain + | ++ BOTLabs GmbH + | ++ KILT DID Method + | +
+ did:elem: + | ++ PROVISIONAL + | ++ Element DID + | ++ Transmute + | ++ ELEM DID Method + | +
+ did:github: + | ++ PROVISIONAL + | ++ Github + | ++ Transmute + | ++ GitHub DID Method + | +
+ did:bid: + | ++ PROVISIONAL + | ++ bif + | ++ teleinfo caict + | ++ BIF DID Method + | +
+ did:ptn: + | ++ PROVISIONAL + | ++ PalletOne + | ++ PalletOne + | ++ PalletOne DID Method + | +
+ did:echo: + | ++ PROVISIONAL + | ++ Echo + | ++ Echo Technological Solutions LLC + | ++ Echo DID Method + | +
+ did:trustbloc: + | ++ PROVISIONAL + | ++ Hyperledger Fabric + | ++ SecureKey + | ++ TrustBloc DID Method + | +
+ did:san: + | ++ PROVISIONAL + | ++ SAN Cloudchain + | ++ YLZ Inc. + | ++ SAN DID Method + | +
+ did:gatc: + | ++ PROVISIONAL + | ++ Ethereum, Hyperledger Fabric, Hyperledger Besu, Alastria + | ++ Gataca + | ++ Gataca DID Method + | +
+ did:factom: + | ++ PROVISIONAL + | ++ Factom + | ++ Sphereon, Factomatic, Factom Inc + | ++ Factom DID Method + | +
+ did:signor: + | ++ PROVISIONAL + | ++ Ethereum, Hedera Hashgraph, Quorum, Hyperledger Besu + | ++ Cryptonics + | ++ Signor DID Method + | +
+ did:hedera: + | ++ PROVISIONAL + | ++ Hedera Hashgraph + | ++ Hedera Hashgraph, Swisscom Blockchain AG + | ++ Hedera Hashgraph DID Method + | +
+ did:schema: + | ++ PROVISIONAL + | ++ Multiple storage networks, currently public IPFS and evan.network IPFS + | ++ 51nodes GmbH + | ++ Schema Registry DID Method + | +
+ Copyright + © + 2024 + + World Wide Web Consortium. + W3C® + liability, + trademark and + permissive document license rules apply. +
++This document serves as a collection of known DID Methods. +
+This section describes the status of this + document at the time of its publication. A list of current W3C + publications and the latest revision of this technical report can be found + in the W3C technical reports index at + https://www.w3.org/TR/.
+ ++Comments regarding this document are welcome. Please file issues +directly on +GitHub, +or send them +to public-did-wg@w3.org ( +subscribe, +archives). +
+ ++Portions of the work on this specification have been funded by the +United States Department of Homeland Security's Science and Technology +Directorate under contracts HSHQDC-16-R00012-H-SB2016-1-002, 70RSAT20T00000010, +and HSHQDC-17-C-00019. The content of this specification does not +necessarily reflect the position or the policy of the U.S. Government +and no official endorsement should be inferred. +
+ ++Work on this registry has also been supported by the Rebooting the +Web of Trust community facilitated by Christopher Allen, Shannon +Appelcline, Kiara Robles, Brian Weller, Betty Dhamers, Kaliya Young, +Kim Hamilton Duffy, Manu Sporny, Drummond Reed, Joe Andrieu, and +Heather Vescent, Dmitri Zagidulin, and Dan Burnett. +
++ This document was published by the Decentralized Identifier Working Group as + a Group Note using the + Note track. +
This Group Note is endorsed by + the Decentralized Identifier Working Group, but is not endorsed by + W3C itself nor its + Members.
+ This is a draft document and may be updated, replaced or obsoleted by other + documents at any time. It is inappropriate to cite this document as other + than work in progress. + +
+ + The + W3C Patent + Policy + does not carry any licensing requirements or commitments on this + document. + + +
+ This document is governed by the + 03 November 2023 W3C Process Document. +
This section is non-normative.
+ + ++This document serves as a collection of known DID Methods. +
+ ++The registration process is described in the Decentralized Identifier Extensions. +
+As well as sections marked as non-normative, all authoring guidelines, diagrams, examples, and notes in this specification are non-normative. Everything else in this specification is normative.
+This table summarizes the DID method specifications currently in development. +The links will be updated as subsequent Implementer’s Drafts are produced. +This registry does not act as an endorsement of any particular DID method or its +underlying technologies by the W3C, the W3C Decentralized Identifier Working Group, +or any affiliated members of the W3C. It exists as a mechanism for developers to +discover various DID methods that they might wish to implement. +
++The normative requirements for DID method specifications can be found in +Decentralized Identifiers +v1.0: Methods [DID-CORE]. DID methods that do not meet these requirements +will not be accepted. We encourage DID method authors to provide an email +address in the Author Links column, as this helps with maintenance. +If an email address is omitted, a label noting that there is no +contact information for the author will be applied to the registry entry. +
+ +DID Method | Registry | Contact |
---|---|---|
3 | Ceramic Network | 3Box Labs (email) (website) |
abt | ABT Network | ArcBlock |
aergo | Aergo | Blocko (website) |
ala | Alastria | Alastria National Blockchain Ecosystem |
amo | AMO blockchain mainnet | AMO Labs (website) |
antelope | Antelope | Tonomy Foundation (website) |
art | Artwork ID Method | Daniel Chun (email) (website) |
asset | Ledger-independent generative DID method based on CAIP-19 identifiers | BOTLabs GmbH (email) (website) |
bba | Ardor | Attila Aldemir (email) |
bee | Ledger agnostic | mesur.io (email) (website) |
bid | bif | teleinfo caict |
bit | d.id | d.id (email) (website) |
bluetoqueagent | Trusted Digital Web | Hyperonomy Digital Identity Lab, Parallelspace Corporation (email) (website) |
bluetoquedeed | Trusted Digital Web | Hyperonomy Digital Identity Lab, Parallelspace Corporation (email) (website) |
bluetoquenfe | Trusted Digital Web | Hyperonomy Digital Identity Lab, Parallelspace Corporation (email) (website) |
bluetoqueproc | Trusted Digital Web | Hyperonomy Digital Identity Lab, Parallelspace Corporation (email) (website) |
bnb | Binance Smart Chain | Ontology Foundation |
bryk | bryk | Marcos Allende, Sandra Murcia, Flavia Munhoso, Ruben Cessa |
bsv | BSV | Thomas Moretti (email) (website) |
btco | BTC | Aviary Tech (email) (website) |
btcr | Bitcoin | Christopher Allen, Ryan Grant, Kim Hamilton Duffy |
candid | Quorum | Eric Lin (email) (website) |
ccd | Concordium | Concordium development team (email) (website) |
ccf | Confidential Consortium Framework (CCF) | Microsoft (email) (website) |
ccp | Quorum | Baidu, Inc. |
celo | Celo | Ontology Foundation |
cheqd | cheqd | CHEQD FOUNDATION LIMITED (email) (website) |
com | commercio.network | Commercio Consortium |
content | Mizuki Sonoko (email) (website) | |
corda | Corda | Nitesh Solanki,Moritz Platt,Pranav Kirtani |
cosmos | Cosmos application chains | Shaun Conway (email) (website) |
cot | CoTChain | CoTNetwork, Inc. (website) |
cr | Hyperledger Fabric | (email) |
ct | Circular Trust | (email) (website) |
ctid | Beijing Zhongdun Anxin Science and Technology Development Co., Ltd (email) (website) | |
dht | Mainline DHT | TBD (website) |
did | Decentralized Identifiers | Spruce Systems, Inc. (website) |
dns | Domain Name System (DNS) | Danube Tech (email) (website) |
dock | Dock | Dock.io (website) |
dom | Ethereum | Dominode |
dotbit | d.id | d.id (email) (website) |
dsrv | dsrv (email) (website) | |
dual | Ethereum | Smart ID Card Alliance |
dxd | fabric.data-alliace.com | Data Alliance Co., Ltd. (email) (website) |
dyne | Dyne.org Foundation | Andrea D'Intino (email) (website) |
echo | Echo | Echo Technological Solutions LLC |
elastos | Elastos ID Sidechain | Elastos Foundation |
elem | Element DID | Transmute |
emtrust | Hyperledger Fabric | Halialabs Pte Ltd. |
ens | Ethereum | ConsenSys MESH (email) (website) |
eosio | EOSIO | Gimly Blockchain (website) |
erat | DID Specification | ERATOSTHENES project (email) (website) |
erc725 | Ethereum | Markus Sabadello, Fabian Vogelsteller, Peter Kolarov (email) |
etho | Ethereum | Ontology Foundation |
ethr | Ethereum | uPort |
ev | Any Ethereum or EVM-compatible ledger | David Ammouial (NTT DATA) (email) (website) |
evan | evan.network | evan GmbH |
everscale | Everscale blockchain | Dmitry V. Samorodkin (email) (website) |
example | DID Specification | W3C DID Working Group |
factom | Factom | Sphereon, Factomatic, Factom Inc |
fairx | FairX Node | Michael Dowling (email) (website) |
future | Netease Chain | Netease Blockchain Team |
gatc | Ethereum, Hyperledger Fabric, Hyperledger Besu, Alastria | Gataca (website) |
gns | GNU Name System | GNUnet (email) (website) |
grg | GrgChain | GRGBanking Blockchain Express Co. Ltd. |
grn | Any CosmWasm-compatible ledger | EG-easy |
gwm | Great Wall Chain | Great Wall Motor Company Limited |
health | DID Health | support (email) (website) |
hedera | Hedera Hashgraph | Hedera Hashgraph, Swisscom Blockchain AG |
hid | Hypersign Blockchain Network | Hypermine Limited (email) (website) |
holo | Holochain | Holo.Host |
hpass | Hyperledger Fabric | IBM |
hpo | Hippocrat DAO | |
hsk | PlatON | HashKey DID (email) |
iamx | undefined | IAMX AG, 6300 Zug, Switzerland (email) (website) |
ibmdc | Hyperledger Fabric | IBM Digital Credentials (email) (website) |
icon | ICON | ICONLOOP |
id | ID Service | Mastercard (website) |
iden3 | EVM compatible chains | ZK ID Labs AG, Polygon ID (website) |
iid | Inspur Chain | zoe Yian (email) |
indy | Any Hyperledger Indy Ledger | Stephen Curran (email) |
infra | InfraBlockchain | Blockchain Labs |
io | IoTeX | IoTeX Foundation |
ion | Bitcoin | Various DIF contributors |
iota | IOTA | IOTA Foundation (website) |
ipid | IPFS | TranSendX |
is | Blockcore | Blockcore |
iscc | Public Blockchains | ISCC Foundation (email) (website) |
itn | Hyperledger Fabric (Private Network) and Arbitrum One | Umed Khudoiberdiev (email) (website) |
iwt | InfoWallet | Raonsecure |
jlinc | JLINC Protocol | Victor Grey |
jlinx | JLINX Protocol | Victor Grey (email) |
jnctn | Jnctn Network | Jnctn Limited |
jolo | Ethereum | Jolocom |
jwk | Ledger agnostic | Jeremie Miller (email) |
kaname | Any EVM Compatible Blockchains | (website) |
kdid | FISCO BCOS | KINGDOM FINTECH(BEIJING)CO,LTD. (email) |
keri | Ledger agnostic | Dr. Sam Smith, Charles Cunningham, Phil Feairheller (email) |
key | Ledger-independent DID method based on public/private key pairs | Rick Astley (thank you for your inspiration), Manu Sporny, Dmitri Zagidulin, Dave Longley, Orie Steele |
kilt | KILT Blockchain | BOTLabs GmbH (email) (website) |
klay | Klaytn | Ontology Foundation |
klayr | Klayr Sidechain | Aldo Suhartono Putra (email) (website) |
knox | Knox Networks | Francis Kim (email) (website) |
kr | Korea Mobile Identity System | Ministry of the Interior and Safety, korea (website) |
kscirc | KSChain Blockchain | K4-Security (website) |
lac | LACChain Network | LACChain Alliance |
ldid | ChainMaker | Shujin Public Service (Qingdao) Co., Ltd. (email) |
life | RChain | lifeID Foundation |
ling | LING | K4-Security (email) (website) |
lit | LEDGIS | IBCT (website) |
m2m | Hyperledger Indy | SmartM2M. Co., Ltd (email) (website) |
meme | IPFS & DNS & HTTP | DID Meme Maintainers (email) (website) |
mesh | Trusted Digital Web | Hyperonomy Digital Identity Lab, Parallelspace Corporation (email) (website) |
meta | Metadium | Metadium Foundation |
moac | MOAC | MOAC Blockchain Tech, Inc. |
monid | Ethereum | Min Ju |
morpheus | Hydra | Internet of People (website) |
myDiD | DID Specification | (email) (website) |
mydata | iGrant.io | iGrant.io (website) |
near | NEAR | Ontology Foundation |
next | Nextme DIDs Network | Next Labs (email) (website) |
nft | Ceramic Network | 3Box Labs (email) (website) |
ns | Web 7.0 Foundation | Web 7.0 Foundation (email) (website) |
nuggets | Nuggets Network | Nuggets Ltd (email) (website) |
nuts | Nuts network | Nuts community (email) (website) |
object | Trusted Digital Web | Hyperonomy Digital Identity Lab, Parallelspace Corporation (email) (website) |
ockam | Ockam | Ockam |
omn | OmniOne | OmniOne |
onion | Ledger agnostic | Blockchain Commons (website) |
ont | Ontology | Ontology Foundation |
op | Ocean Protocol | Ocean Protocol |
orb | Ledger agnostic | Avast (email) (website) |
oyd | Ledger agnostic | OwnYourData.eu (email) (website) |
panacea | Panacea | MediBloc |
peaq | peaq Blockchain | Peaq Technology GmbH (email) (website) |
peer | peer | Daniel Hardman (email) |
pid | ProofID Blockchain | Alvin Reyes (email) (website) |
pistis | Ethereum | Andrea Taglia, Matteo Sinico |
pkh | Ledger-independent generative DID method based on CAIP-10 keypair expressions | Wayne Chang, Charles Lehner, Juan Caballero, Joel Thorstensson |
plc | https://plc.directory | Bluesky PBLLC (email) (website) |
pml | PML Chain | Purple Mountain Laboratories |
polygon | Polygon (Previously MATIC) | AyanWorks, MATIC |
polygonid | EVM compatible chains | ZK ID Labs AG, Polygon ID (website) |
prism | The Cardano blockchain | Input Output Global Inc (IOG) (email) (website) |
psi | LEDGIS | Police Science Institution (website) |
psqr | Public Square | Christian Gribneau (email) (website) |
ptn | PalletOne | PalletOne |
qes | QES | IDnow GmbH (email) (website) |
qui | Qui | Hyperonomy Digital Identity Lab, Parallelspace Corporation (email) (website) |
ray | Ethereum | Ray Peng (email) |
real | Ethereum | Real Items (email) (website) |
resume | Resume DID Method and Protocol | Ming-lam Ng with Real Matter Technology and Talent Connect (email) (website) |
rm | Real-world Asset Tokenization DID Method | Ming-lam Ng (RealMatter) (email) (website) |
safe | Safe | Safe Ecosystem Foundation (email) (website) |
san | SAN Cloudchain | YLZ Inc. |
schema | Multiple storage networks, currently public IPFS and evan.network IPFS | 51nodes GmbH |
scid | StraitsChain | Lorna (email) (website) |
self | Ledger agnostic | Nikos Fotiou (email) (website) |
selfkey | Ethereum | SelfKey |
sideos | Ledger agnostic | sideos GmbH (website) |
signor | Ethereum, Hedera Hashgraph, Quorum, Hyperledger Besu | Cryptonics (website) |
sirius | ProximaX Sirius Chain | ProximaX Singapore Pte. Ltd. (website) |
snail | Penpal network | Amy Guy, Dmitri Zagidulin (email) |
snplab | SNPLab MyD Network | SNPLab Inc. (email) (website) |
sol | Solana | Identity.com (email) (website) |
sov | Sovrin | Mike Lodder |
ssb | Secure Scuttlebutt | Charles E. Lehner |
ssw | Initial Network | SK telecom (website) |
stack | Bitcoin | Jude Nelson |
tangle | IOTA Tangle | BiiLabs Co., Ltd. |
tdid | FISCO BCOS | Tencent Technology (Shenzhen) Co.Ltd (email) (website) |
theseries | IPFS | Hang Hang (email) |
ti | TiChain | Hunan tianhe Guoyun Technology Co.Ltd (email) (website) |
tls | Ethereum | Ulrich Gallersdörfer, Kilian Käslin |
trust | TrustChain | TrustCerts GmbH |
trustbloc | Hyperledger Fabric | SecureKey |
trx | TRON | Ontology Foundation |
ttm | TMChain | Token.TM |
twit | Twit | DID Twit GitHub (website) |
tyron | Zilliqa | Julio Cabrapan Duarte |
tys | DID Specification | Chainyard |
tz | Tezos | Spruce Systems, Inc. (website) |
unik | uns.network | Space Elephant SAS (website) |
unisot | Bitcoin SV | UNISOT AS (website) |
uns | uns.network | Space Elephant SAS (website) |
uport | Ethereum | uPort |
v1 | Veres One DLT | Veres One Maintainer (Digital Bazaar) (email) (website) |
vaa | bif | China Academy of Information and Communications Technology (CAICT) |
valyu | undefined | Valyu Network LTD (email) (website) |
vaultie | Ethereum | Vaultie Inc. |
vertu | VERTU | V2 (email) |
vid | VP | VP Inc. |
vivid | NEO2, NEO3, Zilliqa | Vivid (website) |
vtid | JianKong (email) | |
vvo | Vivvo | Vivvo Application Studios |
web | Web | Oliver Terbu, Mike Xu, Dmitri Zagidulin, Amy Guy |
web7 | Web 7.0 Foundation | Web 7.0 Foundation (email) (website) |
webs | Web, and Key Event Receipt Infrastructure (KERI) | Trust over IP (ToIP) DID Method webs Task Force (email) (website) |
wlk | Weelink Network | Weelink |
work | Hyperledger Fabric | Workday, Inc. |
yourd | YourD compatible chains | YourD (website) |
zk | Arweave | zCloak Network Research (email) (website) |
zkme | EVM compatible chains. Primary on Polygon | zkMe |
+ Copyright + © + 2024 + + World Wide Web Consortium. + W3C® + liability, + trademark and + permissive document license rules apply. +
++This document serves as a collection of known DID Document properties and +property values. +
+This section describes the status of this + document at the time of its publication. A list of current W3C + publications and the latest revision of this technical report can be found + in the W3C technical reports index at + https://www.w3.org/TR/.
+ ++Comments regarding this document are welcome. Please file issues +directly on +GitHub, +or send them +to public-did-wg@w3.org ( +subscribe, +archives). +
+ ++Portions of the work on this specification have been funded by the +United States Department of Homeland Security's Science and Technology +Directorate under contracts HSHQDC-16-R00012-H-SB2016-1-002, 70RSAT20T00000010, +and HSHQDC-17-C-00019. The content of this specification does not +necessarily reflect the position or the policy of the U.S. Government +and no official endorsement should be inferred. +
+ ++Work on this registry has also been supported by the Rebooting the +Web of Trust community facilitated by Christopher Allen, Shannon +Appelcline, Kiara Robles, Brian Weller, Betty Dhamers, Kaliya Young, +Kim Hamilton Duffy, Manu Sporny, Drummond Reed, Joe Andrieu, and +Heather Vescent, Dmitri Zagidulin, and Dan Burnett. +
++ This document was published by the Decentralized Identifier Working Group as + a Group Note using the + Note track. +
This Group Note is endorsed by + the Decentralized Identifier Working Group, but is not endorsed by + W3C itself nor its + Members.
+ This is a draft document and may be updated, replaced or obsoleted by other + documents at any time. It is inappropriate to cite this document as other + than work in progress. + +
+ + The + W3C Patent + Policy + does not carry any licensing requirements or commitments on this + document. + + +
+ This document is governed by the + 03 November 2023 W3C Process Document. +
This section is non-normative.
+ + ++This document serves as a collection of known DID Document properties and +property values. +
+ ++ The registration process is described in the Decentralized Identifier Extensions. +
+As well as sections marked as non-normative, all authoring guidelines, diagrams, examples, and notes in this specification are non-normative. Everything else in this specification is normative.
+ The key word MUST in this document + is to be interpreted as described in + BCP 14 + [RFC2119] [RFC8174] + when, and only when, they appear in all capitals, as shown here. +
+The following section defines the properties available for use in a DID +document. Note that some of these properties are defined in the +DID Core Specification, and +others are defined elsewhere and may be method- or domain-specific. Please read +the associated specifications to ensure that the properties you use are +appropriate for your implementation. The properties are arranged here according +to the purpose they serve. +
+ ++This registry is a work in progress and some properties are missing normative +definitions. We are working on this! This does NOT mean that in future it will +be possible to submit items to the registry without normative definitions (see 1.1 The Registration Process). +
+These properties are foundational to DID documents, and are expected to be +useful to all DID methods. + +
Normative Definition | +JSON-LD | +
---|---|
+ DID Core + | ++ DID Core + | +
{
+ "id": "did:example:123",
+ ...
+}
+ Normative Definition | +JSON-LD | +
---|---|
+ DID Core + | ++ DID Core + | +
{
+ "alsoKnownAs": "https://example.com/",
+ ...
+}
+ Normative Definition | +JSON-LD | +
---|---|
+ DID Core + | ++ DID Core + | +
{
+ "controller": "did:example:123",
+ ...
+}
+ Normative Definition | +JSON-LD | +
---|---|
+ DID Core Terminology + | ++ DID Core + | +
{
+ "id": "did:example:123",
+ "verificationMethod": [
+ {
+ "id": "did:example:123#key-1",
+ "type": "Ed25519VerificationKey2018",
+ "controller": "did:example:123",
+ "publicKeyBase58": "H3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV"
+ },
+ {
+ "id": "did:example:123#key-2",
+ "type": "JsonWebKey2020",
+ "controller": "did:example:123",
+ "publicKeyJwk": {
+ "kty": "OKP",
+ "crv": "Ed25519",
+ "x": "r7V8qmdFbwqSlj26eupPew1Lb22vVG5vnjhn3vwEA1Y"
+ },
+ }
+ ]
+}
+ +This property has been deprecated, use verificationMethod instead. +
+ +Normative Definition | +JSON-LD | +
---|---|
+ security-vocab + | ++ security-vocab context + | +
{
+ "id": "did:example:123",
+ "publicKey": [
+ {
+ "id": "did:example:123#ZC2jXTO6t4R501bfCXv3RxarZyUbdP2w_psLwMuY6ec",
+ "type": "Ed25519VerificationKey2018",
+ "controller": "did:example:123",
+ "publicKeyBase58": "H3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV"
+ },
+ {
+ "id": "did:example:123#WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q",
+ "type": "EcdsaSecp256k1VerificationKey2019",
+ "controller": "did:example:123",
+ "publicKeyJwk": {
+ "crv": "secp256k1",
+ "x": "NtngWpJUr-rlNNbs0u-Aa8e16OwSJu6UiFf0Rdo1oJ4",
+ "y": "qN1jKupJlFsPFc1UkWinqljv4YE0mq_Ickwnjgasvmo",
+ "kty": "EC",
+ "kid": "WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q"
+ }
+ }
+ ]
+}
+ Normative Definition | +JSON-LD | +
---|---|
+ DID Core + | ++ DID Core + | +
{
+ ...
+ "service": [{
+ "id": "did:example:123#edv",
+ "type": "EncryptedDataVault",
+ "serviceEndpoint": "https://edv.example.com/"
+ }]
+}
+ Normative Definition | +JSON-LD | +
---|---|
+ DID + Cosmos Linked Resources + | ++ Cosmos JSON-LD + Context + | +
{
+ ...
+ "linkedResource" : [{
+ "id": "did:cosmos:1:impacthub:nft:abc123#resourceHashgraph",
+ "path": "did:cosmos:1:impacthub:nft:abc123/resourceHashgraph",
+ "type": "hashgraph",
+ "proof": "afybeiemxf5abjwjbikoz4mcb3a3dla6ual3jsgpdr4cjr3oz",
+ "endpoint" : "did:cosmos:1:impacthub:nft:abc123?service=mediator"
+ }]
+}
+ Normative Definition | +JSON-LD | +
---|---|
+ High Assurance DIDs with DNS + | ++ dnsValidationDomain JSON-LD + Context + | +
{
+ "dnsValidationDomain": "mydomain.example"
+ ...
+}
+ +These are properties that express the relationship between the DID subject and a +verification method using a + +verification relationship. +
+Normative Definition | +JSON-LD | +
---|---|
+ DID Core + | ++ DID Core + | +
{
+ ...
+ "verificationMethod": [{
+ "id": "did:example:123#WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q",
+ "type": "EcdsaSecp256k1VerificationKey2019",
+ "controller": "did:example:123",
+ "publicKeyJwk": {
+ "crv": "secp256k1",
+ "x": "NtngWpJUr-rlNNbs0u-Aa8e16OwSJu6UiFf0Rdo1oJ4",
+ "y": "qN1jKupJlFsPFc1UkWinqljv4YE0mq_Ickwnjgasvmo",
+ "kty": "EC",
+ "kid": "WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q"
+ }
+ }],
+ "assertionMethod": [{
+ "id": "did:example:123#z6MkpzW2izkFjNwMBwwvKqmELaQcH8t54QL5xmBdJg9Xh1y4",
+ "type": "Ed25519VerificationKey2018",
+ "controller": "did:example:123",
+ "publicKeyBase58": "BYEz8kVpPqSt5T7DeGoPVUrcTZcDeX5jGkGhUQBWmoBg"
+ },
+ "did:example:123#WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q"
+ ]
+}
+ Normative Definition | +JSON-LD | +
---|---|
+ DID Core + | ++ DID Core + | +
{
+ ...
+ "verificationMethod": [{
+ "id": "did:example:123#WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q",
+ "type": "EcdsaSecp256k1VerificationKey2019",
+ "controller": "did:example:123",
+ "publicKeyJwk": {
+ "crv": "secp256k1",
+ "x": "NtngWpJUr-rlNNbs0u-Aa8e16OwSJu6UiFf0Rdo1oJ4",
+ "y": "qN1jKupJlFsPFc1UkWinqljv4YE0mq_Ickwnjgasvmo",
+ "kty": "EC",
+ "kid": "WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q"
+ }
+ }],
+ "authentication": [{
+ "id": "did:example:123#z6MkpzW2izkFjNwMBwwvKqmELaQcH8t54QL5xmBdJg9Xh1y4",
+ "type": "Ed25519VerificationKey2018",
+ "controller": "did:example:123",
+ "publicKeyBase58": "BYEz8kVpPqSt5T7DeGoPVUrcTZcDeX5jGkGhUQBWmoBg"
+ },
+ "did:example:123#WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q"
+ ]
+}
+ Normative Definition | +JSON-LD | +
---|---|
+ DID Core + | ++ DID Core + | +
{
+ ...
+ "verificationMethod": [{
+ "id": "did:example:123#WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q",
+ "type": "EcdsaSecp256k1VerificationKey2019",
+ "controller": "did:example:123",
+ "publicKeyJwk": {
+ "crv": "secp256k1",
+ "x": "NtngWpJUr-rlNNbs0u-Aa8e16OwSJu6UiFf0Rdo1oJ4",
+ "y": "qN1jKupJlFsPFc1UkWinqljv4YE0mq_Ickwnjgasvmo",
+ "kty": "EC",
+ "kid": "WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q"
+ }
+ }],
+ "capabilityDelegation": [{
+ "id": "did:example:123#z6MkpzW2izkFjNwMBwwvKqmELaQcH8t54QL5xmBdJg9Xh1y4",
+ "type": "Ed25519VerificationKey2020",
+ "controller": "did:example:123",
+ "publicKeyMultibase": "z6MkpzW2izkFjNwMBwwvKqmELaQcH8t54QL5xmBdJg9Xh1y4"
+ },
+ "did:example:123#WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q"
+ ]
+}
+ Normative Definition | +JSON-LD | +
---|---|
+ DID Core + | ++ DID Core + | +
{
+ ...
+ "verificationMethod": [{
+ "id": "did:example:123#WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q",
+ "type": "EcdsaSecp256k1VerificationKey2019",
+ "controller": "did:example:123",
+ "publicKeyJwk": {
+ "crv": "secp256k1",
+ "x": "NtngWpJUr-rlNNbs0u-Aa8e16OwSJu6UiFf0Rdo1oJ4",
+ "y": "qN1jKupJlFsPFc1UkWinqljv4YE0mq_Ickwnjgasvmo",
+ "kty": "EC",
+ "kid": "WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q"
+ }
+ }],
+ "capabilityInvocation": [{
+ "id": "did:example:123#z6MkpzW2izkFjNwMBwwvKqmELaQcH8t54QL5xmBdJg9Xh1y4",
+ "type": "Ed25519VerificationKey2020",
+ "controller": "did:example:123",
+ "publicKeyMultibase": "z6MkpzW2izkFjNwMBwwvKqmELaQcH8t54QL5xmBdJg9Xh1y4"
+ },
+ "did:example:123#WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q"
+ ]
+}
+ Normative Definition | +JSON-LD | +
---|---|
+ DID Core + | ++ DID Core + | +
{
+ ...
+ "keyAgreement": [
+ {
+ "id": "did:example:123#zC9ByQ8aJs8vrNXyDhPHHNNMSHPcaSgNpjjsBYpMMjsTdS",
+ "type": "X25519KeyAgreementKey2019",
+ "controller": "did:example:123",
+ "publicKeyMultibase": "zC9ByQ8aJs8vrNXyDhPHHNNMSHPcaSgNpjjsBYpMMjsTdS"
+ }
+ ]
+}
+
+These properties are for use on a verification method object, in the value of
+verificationMethod
. An
+implementer is expected to not be relying directly on the linked contexts
+registered below in nearly every case and instead should be including the
+context definitions registered by the
+verificationMethod
.
+
Normative Definition | +JSON-LD | +
---|---|
+ security-vocab + | ++ https://w3id.org/security/suites/jws-2020/v1 + | +
{
+ "id": "did:example:123#_Qq0UL2Fq651Q0Fjd6TvnYE-faHiOpRlPVQcY_-tA4A",
+ "type": "JsonWebKey2020",
+ "controller": "did:example:123",
+ "publicKeyJwk": {
+ "crv": "Ed25519",
+ "x": "VCpo2LMLhn6iWku8MKvSLg2ZAoC-nlOyPVQaO3FxVeQ",
+ "kty": "OKP",
+ "kid": "_Qq0UL2Fq651Q0Fjd6TvnYE-faHiOpRlPVQcY_-tA4A"
+ }
+},
+
+This property is deprecated in favor of publicKeyMultibase
or
+publicKeyJwk
. It's generally expected that this term will still be
+used in older suites and therefore needs be supported for legacy compatibility,
+but is expected to not be used for newly defined suites.
+
Normative Definition | +JSON-LD | +
---|---|
+ security-vocab + | ++ https://w3id.org/security/v2 + | +
+This property is deprecated in favor of publicKeyMultibase
or
+publicKeyJwk
. It's generally expected that this term will still be
+used in older suites and therefore needs be supported for legacy compatibility,
+but is expected to not be used for newly defined suites.
+
Normative Definition | +JSON-LD | +|
---|---|---|
+ security-vocab + | ++ https://w3id.org/security/v3-unstable + | ++ | +
{
+ "@context":[
+ "https://www.w3.org/ns/did/v1",
+ "https://identity.foundation/EcdsaSecp256k1RecoverySignature2020#"
+ ],
+ "id":"did:example:123",
+ "verificationMethod":[{
+ "id": "did:example:123#vm-2",
+ "controller": "did:example:123",
+ "type": "EcdsaSecp256k1RecoveryMethod2020",
+ "publicKeyHex": "027560af3387d375e3342a6968179ef3c6d04f5d33b2b611cf326d4708badd7770"
+ }]
+}
+ Normative Definition | +JSON-LD | +
---|---|
+ security-vocab + | ++ https://w3id.org/security/v3-unstable + | +
Normative Definition | +JSON-LD | +
---|---|
+ security-vocab + | ++ https://w3id.org/security/v3-unstable + | +
{
+ "@context":[
+ "https://www.w3.org/ns/did/v1",
+ "https://identity.foundation/EcdsaSecp256k1RecoverySignature2020#"
+ ],
+ "id":"did:example:123",
+ "verificationMethod":[{
+ "id": "did:example:123#vm-3",
+ "controller": "did:example:123",
+ "type": "EcdsaSecp256k1RecoveryMethod2020",
+ "blockchainAccountId":"eip155:1:0xab16a96d359ec26a11e2c2b3d8f8b8942d5bfcdb"
+ }]
+}
+
+This property is deprecated in favor of blockchainAccountId
. It's
+generally expected that this term will still be used in older suites and
+therefore needs be supported for legacy compatibility, but is expected to not be
+used for newly defined suites.
+
Normative Definition | +JSON-LD | +
---|---|
+ security-vocab + | ++ https://w3id.org/security/v3-unstable + | +
{
+ "@context":[
+ "https://www.w3.org/ns/did/v1",
+ "https://identity.foundation/EcdsaSecp256k1RecoverySignature2020#"
+ ],
+ "id":"did:example:123",
+ "verificationMethod":[{
+ "id": "did:example:123#vm-3",
+ "controller": "did:example:123",
+ "type": "EcdsaSecp256k1RecoveryMethod2020",
+ "ethereumAddress": "0xF3beAC30C498D9E26865F34fCAa57dBB935b0D74"
+ }]
+}
+
+These properties are for use on a service object, in the value of
+service
.
+
Normative Definition | +JSON-LD | +
---|---|
+ DID Core + | ++ DID Core + | +
{
+ ...
+ "service": [{
+ "id": "did:example:123#edv",
+ "type": "EncryptedDataVault",
+ "serviceEndpoint": "https://edv.example.com/"
+ }]
+}
+
+These are values to be used for the type
in a verification method object.
+
+Do not include private or extraneous information in verification methods. The +class of private information related to JWKs is defined here. Please review +the DID Core +specification for additional details on this topic. +
+ +Normative Definition | +JSON-LD | +
---|---|
+ JSON Web Signature 2020 + | ++ https://w3id.org/security/suite/jws-2020/v1 + | +
{
+ "id": "did:example:123#_TKzHv2jFIyvdTGF1Dsgwngfdg3SH6TpDv0Ta1aOEkw",
+ "type": "JsonWebKey2020",
+ "controller": "did:example:123",
+ "publicKeyJwk": {
+ "crv": "P-256",
+ "x": "38M1FDts7Oea7urmseiugGW7tWc3mLpJh6rKe7xINZ8",
+ "y": "nDQW6XZ7b_u2Sy9slofYLlG03sOEoug3I0aAPQ0exs4",
+ "kty": "EC",
+ "kid": "_TKzHv2jFIyvdTGF1Dsgwngfdg3SH6TpDv0Ta1aOEkw"
+ }
+}
+ Normative Definition | +JSON-LD | +
---|---|
+ Ecdsa Secp256k1 Signature 2019 + | ++ https://w3id.org/security/suites/secp256k1-2019/v1 + | +
{
+ "id": "did:example:123#WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q",
+ "type": "EcdsaSecp256k1VerificationKey2019",
+ "controller": "did:example:123",
+ "publicKeyJwk": {
+ "crv": "secp256k1",
+ "x": "NtngWpJUr-rlNNbs0u-Aa8e16OwSJu6UiFf0Rdo1oJ4",
+ "y": "qN1jKupJlFsPFc1UkWinqljv4YE0mq_Ickwnjgasvmo",
+ "kty": "EC",
+ "kid": "WjKgJV7VRw3hmgU6--4v15c0Aewbcvat1BsRFTIqa5Q"
+ }
+}
+ Normative Definition | +JSON-LD | +
---|---|
+ Ed25519 Signature 2018 + | ++ https://w3id.org/security/suites/ed25519-2018/v1 + | +
{
+ "id": "did:example:123#ZC2jXTO6t4R501bfCXv3RxarZyUbdP2w_psLwMuY6ec",
+ "type": "Ed25519VerificationKey2018",
+ "controller": "did:example:123",
+ "publicKeyBase58": "H3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV"
+}
+ Normative Definition | +JSON-LD | +
---|---|
+ BBS+ Signatures 2020 + | ++ https://w3id.org/security/suites/bls12381-2020/v1 + | +
{
+ "id": "did:example:123#z3tEGVtEKzdhJB2rT5hLVjwQPis8k7bTM16t7vDZrQaoddk6wZ7or6xPPs1P8H9U16Xe75",
+ "type": "Bls12381G1Key2020",
+ "controller": "did:example:123",
+ "publicKeyBase58": "7bXhTVonHPizXP72AE92PPmRiaXipC519yU7F6NxUFExWpyQo57LuKKBoTyuZ3uWm9",
+}
+ Normative Definition | +JSON-LD | +
---|---|
+ BBS+ Signatures 2020 + | ++ https://w3id.org/security/suites/bls12381-2020/v1 + | +
{
+ "id": "did:example:123#zUC7K51WYEsj8y6KPVa1XfwdW5ZJrW5kSbMV619j128T6atCLLXJjjovMZsJ3Ay4STdngRkvM4ygT4qm1mk6HR8FvipSY435nLgYS1TTcaqJAzDWzM1iB9vh3hTL1DEKitwn56i",
+ "type": "Bls12381G2Key2020",
+ "controller": "did:example:123",
+ "publicKeyBase58": "25ETdUZDVnME6yYuAMjFRCnCPcDmYQcoZDcZuXAfeMhXPvjZg35QmZ7uctBcovA69YDM3Jf7s5BHo4u1y89nY6mHiji8yphZ4AMm4iNCRh35edSg76Dkasu3MY2VS9LnuaVQ",
+
+}
+ Normative Definition | +JSON-LD | +Additional Details | +
---|---|---|
+ Linked Data Signatures for PGP + | ++ https://w3id.org/security/suites/pgp-2021/v1 + | ++ Use of this verification key should be in line with the OpenPGP Message Format + as defined in RFC 4880 + | +
{
+ "@context":[
+ "https://www.w3.org/ns/did/v1",
+ "https://gpg.jsld.org/contexts/lds-gpg2020-v0.0.jsonld"
+ ],
+ "id":"did:example:123",
+ "verificationMethod":[{
+ "id": "did:example:123#989ed1057a294c8a3665add842e784c4d08de1e2",
+ "type": "PgpVerificationKey2021",
+ "controller": "did:example:123",
+ "publicKeyPgp": "-----BEGIN PGP PUBLIC KEY BLOCK-----\r\nVersion: OpenPGP.js v4.9.0\r\nComment: https://openpgpjs.org\r\n\r\nxjMEXkm5LRYJKwYBBAHaRw8BAQdASmfrjYr7vrjwHNiBsdcImK397Vc3t4BL\r\nE8rnN......v6\r\nDw==\r\n=wSoi\r\n-----END PGP PUBLIC KEY BLOCK-----\r\n"
+ }]
+}
+ +DID +Specification Registries Issue 370 This property should be moved into a +separate suite and linked to here rather than relying on the Verifiable +Credentials vocabulary. There are known issues with the first version of the +Security vocabulary JSON-LD context and the first version of the Verifiable +Credentials JSON-LD context which will prevent these contexts from being listed +in the same document. For now it's suggested that implementers rely upon the +first version of the Verifiable Credentials JSON-LD context and not rely on +the Security vocabulary JSON-LD context in the same document. +
Normative Definition | +JSON-LD | +
---|---|
+ RSA Signature Suite 2018 + | ++ https://www.w3.org/2018/credentials/v1 + | +
{
+ "id": "did:example:123#key-0",
+ "type": "RsaVerificationKey2018",
+ "controller": "did:example:123",
+ "publicKeyJwk": {
+ "kty":"RSA",
+ "e":"AQAB",
+ "use":"sig",
+ "kid":"tNksV42EUs3Xct9AkgZyFWglItRGMxVZ1A1XM68SNq0
+ "n":"kO2d_qQTEBjYFGcoY_da7ziFY4L2QX14K7snCee09n-cY2eP-oJXk8T2_lL20YnpYhf4i
+ jhkWHGU8kY8-FWPRrzSeu3JUMVSZoqTgoAiKWdnSLNvPVxvGuD2CiA3T6AkwUC03D2AkOLCcJV
+ 8h_hxUEPeDawF7ArpuJW5DXzEJjE7gOjN4r6d7VB6sd5y-3la54H2ADz2amHLdBWs30fL4BRBH
+ lVdx0YmF37V4u5yvnnb5Iyr3kBXJes8t0MUMPkjqEEXRmukpKUzZYNpWDXY0tVcXeK5sRx0DAn
+ lNgNNf14-vsyjGkj2Rz0oGW73jjWa8dw-yVlDEHyIkQU9-UY4dFXbVjdIO8j_5ghh62o1T7Y4w
+ 5CWMc-FxPE3LHe-_teW97X__NN-ToYgfi42IvV2mYOdQMCbvnvY2oMdK3b9wmeVi0marToauL5
+ LMg5xHDKopmIR7E3VyRtNYwDFAZ89kadcbSrZ8zTR5APaB7Tmp2L2ZfXKxqKQuxlFTTCcZtg4e
+ 5AN8QuYdI18DEDQn2umUU_Twj7k4CXvuIKVL8p4yRHC4CHAGIm9cH_t11dF3wXygaENVOGRXQu
+ 0g1iKq0mO2rWpOqkGJ5uXMFb5lx54i8uOjCdZ9y2el28xA55Ve95KCxeTHp997Bn3TIgbeQ-B_
+ -3PBVTuuAAH8y9fFNKtu5E"
+ }
+}
+ Normative definition in a suite is required for registration, this entry should be updated or removed.
Normative Definition | +JSON-LD | +
---|---|
+ Normative definition pending + | ++ https://w3id.org/security/suites/x25519-2019/v1 + | +
{
+ ...
+ "keyAgreement": [
+ {
+ "id": "did:example:123#zC9ByQ8aJs8vrNXyDhPHHNNMSHPcaSgNpjjsBYpMMjsTdS",
+ "type": "X25519KeyAgreementKey2019",
+ "controller": "did:example:123",
+ "publicKeyBase58": "9hFgmPVfmBZwRvFEyniQDBkz9LmV7gDEqytWyGZLmDXE"
+ }
+ ]
+}
+ Normative Definition | +JSON-LD | +
---|---|
+ ECDSA Secp256k1 Recovery Signature 2020 + | ++ https://w3id.org/security/suites/secp256k1recovery-2020/v1 + | +
{
+ "@context": [
+ "https://www.w3.org/ns/did/v1",
+ "https://identity.foundation/EcdsaSecp256k1RecoverySignature2020#"
+ ],
+ "id":"did:example:123",
+ "verificationMethod": [
+ {
+ "id": "did:example:123#vm-1",
+ "controller": "did:example:123",
+ "type": "EcdsaSecp256k1RecoveryMethod2020",
+ "publicKeyJwk": {
+ "crv": "secp256k1",
+ "kid": "JUvpllMEYUZ2joO59UNui_XYDqxVqiFLLAJ8klWuPBw",
+ "kty": "EC",
+ "x": "dWCvM4fTdeM0KmloF57zxtBPXTOythHPMm1HCLrdd3A",
+ "y": "36uMVGM7hnw-N6GnjFcihWE3SkrhMLzzLCdPMXPEXlA"
+ }
+ },
+ {
+ "id": "did:example:123#vm-2",
+ "controller": "did:example:123",
+ "type": "EcdsaSecp256k1RecoveryMethod2020",
+ "publicKeyHex": "027560af3387d375e3342a6968179ef3c6d04f5d33b2b611cf326d4708badd7770"
+ },
+ {
+ "id": "did:example:123#vm-3",
+ "controller": "did:example:123",
+ "type": "EcdsaSecp256k1RecoveryMethod2020",
+ "ethereumAddress": "0xF3beAC30C498D9E26865F34fCAa57dBB935b0D74"
+ }
+ ]
+}
+ Normative Definition | +JSON-LD | +
---|---|
+ Verifiable + Conditions Verification Method Suite 2021 + | ++ https://w3c-ccg.github.io/verifiable-conditions/contexts/verifiable-conditions-2021-v1.json + | +
{
+ "id": "did:example:123#1",
+ "controller": "did:example:123",
+ "type": "VerifiableCondition2021",
+ "conditionAnd": [{
+ "id": "did:example:123#1-1",
+ "controller": "did:example:123",
+ "type": "VerifiableCondition2021",
+ "conditionOr": [{
+ "id": "did:example:123#1-1-1",
+ "controller": "did:example:123",
+ "type": "EcdsaSecp256k1VerificationKey2019",
+ "publicKeyBase58": "5JBxKqYKzzoHrzeqwp6zXk8wZU3Ah94ChWAinSj1fYmyJvJS5rT"
+ }, {
+ "id": "did:example:123#1-1-2",
+ "controller": "did:example:123",
+ "type": "Ed25519VerificationKey2018",
+ "publicKeyBase58": "PZ8Tyr4Nx8MHsRAGMpZmZ6TWY63dXWSCzamP7YTHkZc78MJgqWsAy"
+ }]
+ }, {
+ "id": "did:example:123#1-2",
+ "controller": "did:example:123",
+ "type": "Ed25519VerificationKey2018",
+ "publicKeyBase58": "H3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV"
+ }]
+}
+
+These are values to be used for the type
property
+in a service object.
+
https://identity.foundation/.well-known/resources/did-configuration/#LinkedDomains
+^ if this link changes the term defintion registered in did core will need to change, we should be sure we like this URL as is... forever.
Normative Definition | +JSON-LD | +
---|---|
+ Well Known DID Configuration + | ++ Well Known DID Configuration + | +
{
+ "@context": ["https://www.w3.org/ns/did/v1","https://identity.foundation/.well-known/did-configuration/v1"],
+ "id": "did:example:123",
+ "verificationMethod": [{
+ "id": "did:example:123#456",
+ "type": "JsonWebKey2020",
+ "controller": "did:example:123",
+ "publicKeyJwk": {
+ "kty": "OKP",
+ "crv": "Ed25519",
+ "x": "VCpo2LMLhn6iWku8MKvSLg2ZAoC-nlOyPVQaO3FxVeQ"
+ }
+ }],
+ "service": [
+ {
+ "id":"did:example:123#foo",
+ "type": "LinkedDomains",
+ "serviceEndpoint": {
+ "origins": ["https://foo.example.com", "https://identity.foundation"]
+ }
+ },
+ {
+ "id":"did:example:123#bar",
+ "type": "LinkedDomains",
+ "serviceEndpoint": "https://bar.example.com"
+ }
+ ]
+}
+ Normative Definition | +JSON-LD | +
---|---|
+ Linked Verifiable Presentation + | ++ Linked Verifiable Presentation + | +
{
+ "@context": [
+ "https://www.w3.org/ns/did/v1",
+ "https://identity.foundation/linked-vp/contexts/v1"
+ ],
+ "id": "did:example:123",
+ "verificationMethod": [{
+ "id": "did:example:123#_Qq0UL2Fq651Q0Fjd6TvnYE-faHiOpRlPVQcY_-tA4A",
+ "type": "JsonWebKey2020",
+ "controller": "did:example:123",
+ "publicKeyJwk": {
+ "kty": "OKP",
+ "crv": "Ed25519",
+ "x": "VCpo2LMLhn6iWku8MKvSLg2ZAoC-nlOyPVQaO3FxVeQ"
+ }
+ }],
+ "service": [
+ {
+ "id": "did:example:123#foo",
+ "type": "LinkedVerifiablePresentation",
+ "serviceEndpoint": ["https://bar.example.com/verifiable-presentation.jsonld"]
+ },
+ {
+ "id": "did:example:123#baz",
+ "type": "LinkedVerifiablePresentation",
+ "serviceEndpoint": "ipfs://bafybeihkoviema7g3gxyt6la7vd5ho32ictqbilu3wnlo3rs7ewhnp7lly/verifiable-presentation.jwt"
+ }
+ ]
+}
+ Normative Definition | +JSON-LD | +
---|---|
+ DIDComm Messaging + | ++ A valid JSON-LD context needs to be published. + DIDComm Messaging + | +
{
+ "@context":[
+ "https://www.w3.org/ns/did/v1",
+ "https://didcomm.org/messaging/contexts/v2"
+ ],
+ "type":"DIDCommMessaging",
+ "serviceEndpoint": {
+ "uri": "http://example.com/path",
+ "accept":[ "didcomm/v2", "didcomm/aip2;env=rfc587" ],
+ "routingKeys":[ "did:example:somemediator#somekey" ]
+ }
+}
+ The WotThing
and WotDirectory
endpoints allow publication of service endpoints in a DID document
+ that can be used to fetch Web of Things (WoT) Thing Descriptions (TDs).
+ The WotThing
endpoint is a REST service that returns a TD
+ when the GET
method is used.
+ This can be used for self-describing devices or services, or be a service
+ separate from the actual device or service described by the TD.
+ The WotDirectory
is also a REST service that returns a TD, but this service is always
+ a Web of Things (WoT) Thing Description Directory (TDD),
+ and the TD returned by a GET
always describes the TDD's interface.
+ Details (including normative statements covering the above) are in the
+ WoT Discovery specification.
+
Normative Definition | +JSON-LD | +
---|---|
+ WoT Discovery + | ++ WotThing + | +
+ WoT Discovery + | ++ WotDirectory + | +
{
+ "@context":[
+ "https://www.w3.org/ns/did/v1",
+ "https://www.w3.org/2022/wot/discovery-did"
+ ],
+ ...
+ "service": [{
+ "id": "did:example:wotdiscoveryexample#td",
+ "type": "WotThing",
+ "serviceEndpoint":
+ "https://wot.example.com/.well-known/wot"
+ }]
+ ...
+}
+ {
+ "@context":[
+ "https://www.w3.org/ns/did/v1",
+ "https://www.w3.org/2022/wot/discovery-did"
+ ],
+ ...
+ "service": [{
+ "id": "did:example:wotdiscoveryexample#tdd",
+ "type": "WotDirectory",
+ "serviceEndpoint":
+ "https://wot.example.com/tdd"
+ }]
+ ...
+}
+ The CredentialRegistry
endpoint allows publication of a dedicated service endpoint in a DID document, through which verifiable credentials can be queried. Each registry endpoint is a REST endpoint. When a GET
request is sent to the URI formed by appending the credentialSubject.id
as a URL-encoded string to the given endpoint URI, the registry MUST return an array of verifiable credentials associated with the subject ID. A sample registry endpoint can be found here.
+ Verifiable credential registries are supposed to hold credentials that are publicly accessible by default, e.g., for product passports on a product type level. An additional authentication for limiting access to certain credentials is currently under development. +
Normative Definition | +JSON-LD | +
---|---|
+ Verifiable Credential Registry + | ++ Verifiable Credential Registry + | +
{
+ ...
+ "service": [
+ {
+ "id": "did:example:123#vcregistry-1",
+ "type": "CredentialRegistry",
+ "serviceEndpoint": {
+ "registries": ["https://registry.example.com/{credentialSubject.id}", "https://identity.foundation/vcs/{credentialSubject.id}"]
+ }
+ },
+ {
+ "id": "did:example:123#vcregistry-2",
+ "type": "CredentialRegistry",
+ "serviceEndpoint": "https://ssi.eecc.de/api/registry/vcs/{credentialSubject.id}"
+ }
+ ]
+}
+ $ curl 'https://ssi.eecc.de/api/registry/vcs/https%3A%2F%2Ftest.de%2Ftest1' -H 'accept: application/ld+json, application/json'
+
+[
+ {
+ "@context": ["https://www.w3.org/2018/credentials/v1",... ],
+ "type": ["VerifiableCredential",...],
+ "credentialSubject": {...},
+ "proof": {...},
+ ...
+ },
+ ...
+]
+ The OID4VCI
service allows publication of a credential issuer that conforms to the OpenID for Verifiable Credential Issuance (OID4VCI) specification.
+
The service endpoint id
MUST be the Credential Issuer Identifier to get the Credential Issuer Metadata as described in Section Credential Issuer Metadata of OpenIDVCI.
Normative Definition | +JSON-LD | +
---|---|
+ OpenID4VCI + | ++ OpenID4VCI + | +
{
+ ...
+ "service": [
+ {
+ "id": "did:example:123#oid4vci",
+ "type": "OID4VCI",
+ "serviceEndpoint": "https://issuer.example.com/"
+ }
+ ]
+}
+ The OID4VP
service allows publication of how to interact with a credential wallet that conforms with the OpenID for Verifiable Presentation (OID4VP) specification.
The service endpoint id
MUST be the Wallet (OAuth2) Issuer Identifier to obtain Wallet Metadata to invoke the wallet as described in section Wallet Invocation.
Normative Definition | +JSON-LD | +
---|---|
+ OpenID4VP + | ++ OpenID4VP + | +
{
+ ...
+ "service": [
+ {
+ "id": "did:example:123#oid4vp",
+ "type": "OID4VP",
+ "serviceEndpoint": "https://wallet.example.com"
+ }
+ ]
+}
+ + Copyright + © + 2024 + + World Wide Web Consortium. + W3C® + liability, + trademark and + permissive document license rules apply. +
++This document serves as a collection of known DID Resolution and Dereferencing +extensions. +
+This section describes the status of this + document at the time of its publication. A list of current W3C + publications and the latest revision of this technical report can be found + in the W3C technical reports index at + https://www.w3.org/TR/.
+ ++Comments regarding this document are welcome. Please file issues +directly on +GitHub, +or send them +to public-did-wg@w3.org ( +subscribe, +archives). +
+ ++Portions of the work on this specification have been funded by the +United States Department of Homeland Security's Science and Technology +Directorate under contracts HSHQDC-16-R00012-H-SB2016-1-002, 70RSAT20T00000010, +and HSHQDC-17-C-00019. The content of this specification does not +necessarily reflect the position or the policy of the U.S. Government +and no official endorsement should be inferred. +
+ ++Work on this registry has also been supported by the Rebooting the +Web of Trust community facilitated by Christopher Allen, Shannon +Appelcline, Kiara Robles, Brian Weller, Betty Dhamers, Kaliya Young, +Kim Hamilton Duffy, Manu Sporny, Drummond Reed, Joe Andrieu, and +Heather Vescent, Dmitri Zagidulin, and Dan Burnett. +
++ This document was published by the Decentralized Identifier Working Group as + a Group Note using the + Note track. +
This Group Note is endorsed by + the Decentralized Identifier Working Group, but is not endorsed by + W3C itself nor its + Members.
+ This is a draft document and may be updated, replaced or obsoleted by other + documents at any time. It is inappropriate to cite this document as other + than work in progress. + +
+ + The + W3C Patent + Policy + does not carry any licensing requirements or commitments on this + document. + + +
+ This document is governed by the + 03 November 2023 W3C Process Document. +
This section is non-normative.
+ + ++This document serves as a collection of known DID Resolution and Dereferencing +extensions. +
+ ++ The registration process is described in the Decentralized Identifier Extensions. +
+As well as sections marked as non-normative, all authoring guidelines, diagrams, examples, and notes in this specification are non-normative. Everything else in this specification is normative.
This table provides a reference for media types and the associated specifications for producing and consuming those representations.
+Media Type | +Specification | +
---|---|
application/did+json | ++ DID Core + | +
application/did+ld+json | ++ DID Core + | +
application/did+cbor | ++ The Plain CBOR Representation + | +
+These are entries in DID documents that are specific to the +JSON representation. +
++(No entries yet) +
++These are entries in DID documents that are specific to the +JSON-LD representation. +
+ +Normative Definition | +
---|
+ DID Core + | +
+The following values are acceptable values for the @context
entry as
+a JSON
+ String or first item of a JSON Array,
+represented as a JSON
+ String.
+
@context Values |
+ Specification Version | +
---|---|
+ https://www.w3.org/ns/did/v1 + | ++ DID Core 1.0 Working draft + | +
{
+ "@context": [
+ "https://www.w3.org/ns/did/v1",
+ "https://example.com/blockchain-identity/v1"
+ ],
+ ...
+}
+ +These are entries in DID documents that are specific to the +CBOR representation. +
++(No entries yet) +
++These properties contain information pertaining to the DID resolution request. +
+ +Normative Definition | ++ |
---|---|
+ DID Core + | ++ |
{
+ "accept": "application/did+ld+json"
+}
+ +These properties contain information pertaining to the DID resolution response. +
+Normative Definition | ++ |
---|---|
+ DID Core + | ++ |
{
+ "contentType": "application/did+ld+json"
+}
+ Normative Definition | ++ |
---|---|
+ DID Core + | ++ | +
{
+ "error": "notFound"
+}
+ Normative Definition | +
---|
+ DID Core + | +
{
+ "error": "invalidDid"
+}
+ Normative Definition | +
---|
+ DID Core + | +
{
+ "error": "notFound"
+}
+ Normative Definition | +
---|
+ DID Core + | +
{
+ "error": "representationNotSupported"
+}
+ Normative Definition | +
---|
+ DID Resolution + | +
{
+ "error": "methodNotSupported"
+}
+ Normative Definition | +
---|
+ DID Resolution + | +
{
+ "error": "internalError"
+}
+ Normative Definition | +
---|
+ DID Resolution + | +
{
+ "error": "invalidPublicKey"
+}
+ Normative Definition | +
---|
+ DID Resolution + | +
{
+ "error": "invalidPublicKeyLength"
+}
+ Normative Definition | +
---|
+ DID Resolution + | +
{
+ "error": "invalidPublicKeyType"
+}
+ Normative Definition | +
---|
+ DID Resolution + | +
{
+ "error": "unsupportedPublicKeyType"
+}
+ Normative Definition | +
---|
+ DID Spec Extension: notAllowedVerificationMethodType + | +
{
+ "error": "notAllowedVerificationMethodType"
+}
+ Normative Definition | +
---|
+ DID Spec Extension: notAllowedKeyType + | +
{
+ "error": "notAllowedKeyType"
+}
+ Normative Definition | +
---|
+ DID Spec Extension: notAllowedMethod + | +
{
+ "error": "notAllowedMethod"
+}
+ Normative Definition | +
---|
+ DID Spec Extension: notAllowedCertificate + | +
{
+ "error": "notAllowedCertificate"
+}
+ Normative Definition | +
---|
+ DID Spec Extension: notAllowedLocalDuplicateKey + | +
{
+ "error": "notAllowedLocalDuplicateKey"
+}
+ Normative Definition | +
---|
+ DID Spec Extension: notAllowedLocalDerivedKey + | +
{
+ "error": "notAllowedLocalDerivedKey"
+}
+ Normative Definition | +
---|
+ DID Spec Extension: notAllowedGlobalDuplicateKey + | +
{
+ "error": "notAllowedGlobalDuplicateKey"
+}
+ +These properties contain information pertaining to the DID dereferencing response. +
+Normative Definition | ++ |
---|---|
+ DID Core + | ++ | +
{
+ "error": "notFound"
+}
+ Normative Definition | +
---|
+ DID Core + | +
{
+ "error": "invalidDidUrl"
+}
+ Normative Definition | +
---|
+ DID Core + | +
{
+ "error": "notFound"
+}
+ +These properties contain information pertaining to the DID document itself, +rather than the DID subject. +
++ See DID Core #203. +
Normative Definition | +JSON-LD | +
---|---|
+ DID Core + | ++ DID Core + | +
{
+ "created": "2019-03-23T06:35:22Z"
+}
+ + See DID Core #203. +
Normative Definition | +JSON-LD | +
---|---|
+ DID Core + | + ++ DID Core + | +
{
+ "updated": "2023-08-10T13:40:06Z"
+}
+ Normative Definition | +JSON-LD | +
---|---|
+ DID Core + | + ++ DID Core + | +
{
+ "deactivated": true
+}
+ Normative Definition | +JSON-LD | +
---|---|
+ DID Core + | + ++ DID Core + | +
{
+ "nextUpdate": "2023-08-10T13:40:06Z"
+}
+ Normative Definition | +JSON-LD | +
---|---|
+ DID Core + | + ++ DID Core + | +
{
+ "versionId": "bafyreifederejlobaec6kwpl2mc3tw7qk3j3ey4uytkbiw2qw7dzylud6i"
+}
+ Normative Definition | +JSON-LD | +
---|---|
+ DID Core + | + ++ DID Core + | +
{
+ "nextVersionId": "bafyreifederejlobaec6kwpl2mc3tw7qk3j3ey4uytkbiw2qw7dzylud6i"
+}
+ Normative Definition | +JSON-LD | +
---|---|
+ DID Core + | + ++ DID Core + | +
{
+ "equivalentId": ["did:example:ABC", "did:example:Abc"]
+}
+ Normative Definition | +JSON-LD | +
---|---|
+ DID Core + | + ++ DID Core + | +
{
+ "canonicalId": "did:example:ABC"
+}
+ Normative Definition | +
---|
+ DID Core + | +
did:example:123?hl=zQmWvQxTqbG2Z9HPJgG57jjwR154cKhbtJenbyYTWkjgF3e
+ Normative Definition | +
---|
+ DID Core + | +
did:example:123?service=agent
+ Normative Definition | +
---|
+ DID Core + | +
did:example:123?versionId=4
+ Normative Definition | +
---|
+ DID Core + | +
did:example:123?versionTime=2016-10-17T02:41:00Z
+ Normative Definition | +
---|
+ DID Core + | +
did:example:123?service=files&relativeRef=%2Fmyresume%2Fdoc%3Fversion%3Dlatest%23intro
+ Normative Definition | +
---|
+ DID Spec Extensions by DIF + | +
did:example:123?initialState=eyJkZWx0YV9oYXNoIjoiRWlDUlRKZ2Q0U0V2YUZDLW9fNUZjQnZJUkRtWF94Z3RLX3g...
+ Normative Definition | +
---|
+ DID Spec Extensions by DIF + | +
did:example:123?transformKeys=jwk
+ Normative Definition | +
---|
+ DID Spec Extensions by DIF + | +
did:example:123?signedIetfJsonPatch=eyJraWQiOiJkaWQ6ZXhhbXBsZTo0NTYjX1FxMFVMMkZxNjUxUTBGamQ2VH...
+ Normative Definition | +
---|
+ DID URL Resource Parameter Specification + | +
did:foo:21tDAKCERh95uGgKbJNHYp?resource=true
+ + Copyright + © + 2024 + + World Wide Web Consortium. + W3C® + liability, + trademark and + permissive document license rules apply. +
++This document serves as a repository for all known global parameters, +properties, and values used by the Decentralized Identifier ecosystem. +
+This section describes the status of this + document at the time of its publication. A list of current W3C + publications and the latest revision of this technical report can be found + in the W3C technical reports index at + https://www.w3.org/TR/.
+ ++This repository is under active development and implementers are advised +against using the repository unless they are directly involved with the +W3C DID Working Group. +
+ ++Comments regarding this document are welcome. Please file issues +directly on +GitHub, +or send them +to public-did-wg@w3.org ( +subscribe, +archives). +
+ ++Portions of the work on this specification have been funded by the +United States Department of Homeland Security's Science and Technology +Directorate under contracts HSHQDC-16-R00012-H-SB2016-1-002, 70RSAT20T00000010, +and HSHQDC-17-C-00019. The content of this specification does not +necessarily reflect the position or the policy of the U.S. Government +and no official endorsement should be inferred. +
+ ++Work on this repository has also been supported by the Rebooting the +Web of Trust community facilitated by Christopher Allen, Shannon +Appelcline, Kiara Robles, Brian Weller, Betty Dhamers, Kaliya Young, +Kim Hamilton Duffy, Manu Sporny, Drummond Reed, Joe Andrieu, and +Heather Vescent, Dmitri Zagidulin, and Dan Burnett. +
++ This document was published by the Decentralized Identifier Working Group as + a Group Note using the + Note track. +
This Group Note is endorsed by + the Decentralized Identifier Working Group, but is not endorsed by + W3C itself nor its + Members.
+ This is a draft document and may be updated, replaced or obsoleted by other + documents at any time. It is inappropriate to cite this document as other + than work in progress. + +
+ + The + W3C Patent + Policy + does not carry any licensing requirements or commitments on this + document. + + +
+ This document is governed by the + 03 November 2023 W3C Process Document. +
This section is non-normative.
+ + ++This document serves as an official repository for all known global parameters, +properties, and values used by the Decentralized Identifier ecosystem. +
+ +As well as sections marked as non-normative, all authoring guidelines, diagrams, examples, and notes in this specification are non-normative. Everything else in this specification is normative.
+ The key words MAY, MUST, MUST NOT, and SHOULD in this document + are to be interpreted as described in + BCP 14 + [RFC2119] [RFC8174] + when, and only when, they appear in all capitals, as shown here. +
+Software implementers might find that the existing Decentralized Identifier Core +specification [DID-CORE] is not entirely capable of addressing their use case +and might need to add a new parameters, properties, or values to this repository +in order to achieve their use case in a globally interoperable fashion. In order +to add a new parameter, property, or value to this repository, an implementer MUST +submit a modification request for this repository, as a pull request on the +repository where this repository is hosted, where the modification request adheres +to the following policies: +
+ +@protected
+feature to eliminate the possibility of term conflicts.
+ +The Editors of the DID Specification Registries MUST consider all of the +policies above when reviewing additions to the repository and MUST reject repository +entries if they violate any of the policies in this section. Entities +registering additions can challenge rejections first with the W3C DID Working +Group and then, if they are not satisfied with the outcome, with the W3C Staff. +W3C Staff need not be consulted on changes to the DID Specification Registries, +but do have the final authority on repository contents. This is to ensure that W3C +can adequately respond to time sensitive legal, privacy, security, moral, or +other pressing concerns without putting an undue operational burden on W3C +Staff. +
+ ++Entries that are identified to cause interoperability problems MAY be marked as +such at the discretion of the maintainers of this repository, and if possible, +after consultation with the entry maintainer. +
+ ++Any submission to the registries that meet all the criteria listed above will be +accepted for inclusion. These registries enumerate all known mechanisms that +meet a minimum bar, without choosing between them. +
++The following documents list known extensions to the DID Ecosystem: +
+ +Document | +Description | +
---|---|
+Property and Value Extensions + | +Extensions to DID Document properties and values. | +
+Resolution Extensions + | +Extensions to DID Resolution parameters and results. | +
+DID Methods + | ++Ephemeral, distributed, and fully decentralized mechanisms for supporting +Decentralized Identifiers across a variety of technology platforms. + | +
+This document lists the terms used in the DID Core v1.0 data model, and +provides a namespace so each term has an URI. +
+
+The DID Core v1.0 namespace URI is: https://www.w3.org/ns/did#
.
+
+This namespace contains the vocabulary terms used in the DID Core v1.0 data +model [[DID-CORE]], as well as provides a +JSON-LD Context. +
++Terms which are extensions to DID Core v1.0 can be found in the DID +Specification Registries [[DID-SPEC-REGISTRIES]]. Extensions have their own +namespaces and JSON-LD Contexts. +
++Terms are listed here in alphabetical order, and link to their definitions in +the DID Core v1.0 specification. +
+ ++ This the namespace document for the Linked Data Vocabulary representation of the DID Core v1.0 data model. +
++ This document contains the vocabulary terms defined in the DID Core v1.0 data model [[did-core]]. The following namespaces are used:
+ +https://www.w3.org/ns/did#
https://w3id.org/security#
https://www.w3.org/ns/activitystreams#
+ While the DID Core v1.0 namespace URI is https://www.w3.org/ns/did#
, for historical reasons most of the terms are in the https://w3id.org/security#
namespace, though defined in the DID Core specification [[did-core]]. These terms do not define any cryptographic primitives and are formally defined in the DID Core specification. Future Working Group may define a formal specification for the complete security vocabulary.
+
+ Some of the terms, as defined in the DID Core specification [[did-core]], use a slightly different term name as their full URIs. For example, the term https://w3id.org/security#keyAgreementMethod
is referred to as keyAgreement
in the DID Core specification. The mapping is done, for JSON-LD, by the official JSON-LD Context. For the sake of clarity, section
+ below references both those terms.
+
+ Extensions to DID Core v1.0 terms can be found in the DID Specification Registries [[did-spec-registries]]. Extensions may be in the https://w3id.org/security#
namespace or may have their own namespaces; they have their own JSON-LD Contexts.
+
+ The formal RDF [[rdf11-concepts]] vocabulary, using RDFS [[rdf-schema]] terms, is available in the following formats: +
+ +
+ These files can also be accessed using content negotiations on the https://www.w3.org/ns/did
URI HTTP request, referring to the text/turtle
, application/ld+json
, or application/rdf+xml
media types, respectively,
+
+ Note: the RDFS Classes are not defined in the DID Core v1.0 specification [[did-core]] and are only used by the formal RDFS vocabulary specification. Users of the JSON-LD representation of the DID Data Model are advised not to use + these. +
+ +DIDSubject
https://www.w3.org/ns/did#serviceEndpoint
Service
https://www.w3.org/ns/did#Service
VerificationMethod
https://www.w3.org/ns/did#VerificationMethod
+ Terms are listed here in alphabetical order, and linked to their definitions in the DID Core v1.0 [[did-core]] specification. +
+ +alsoKnownAs
https://www.w3.org/ns/activitystreams#alsoKnownAs
assertionMethod
https://w3id.org/security#assertionMethod
authenticationMethod
, referred to as authentication
https://w3id.org/security#authenticationMethod
capabilityDelegationMethod
, referred to as capabilityDelegation
https://w3id.org/security#capabilityDelegationMethod
capabilityInvocationMethod
, referred to as capabilityInvocation
https://w3id.org/security#capabilityInvocationMethod
controller
https://w3id.org/security#controller
keyAgreementMethod
, referred to as keyAgreement
https://w3id.org/security#keyAgreementMethod
publicKeyMultibase
https://w3id.org/security#publicKeyMultibase
publicKeyJwk
https://w3id.org/security#publicKeyJwk
service
https://www.w3.org/ns/did#service
serviceEndpoint
https://www.w3.org/ns/did#serviceEndpoint
verificationMethod
https://w3id.org/security#verificationmethod
Although not formally part of the Vocabulary specification, the RDF shape constraints, related to this vocabulary, are also available:
+ + + + +