Skip to main content
Skip table of contents

Interfaces GBC Client

did:web Interface

getDIDdocumentGBC

Feature

getDIDdocumentGBC

Type

Service

Versie

1.0.0

Systeemrolcode

-

Groep

GBC

Gepubliceerd

Delta

Initiële versie van feature.

Feature

Versie

Dependency

Aanbieder

Afnemer

Inhoud en formaat van een didDocumentRequest

De URL waarnaar een didDocumentRequest dient te worden verzonden wordt bepaald o.b.v. de inhoud van de <did:web>.

Een <did:web> kan conform https://w3c-ccg.github.io/did-method-web/#read-resolve worden getransformeerd naar een URL. Dit leidt dan tot een <did:web:url>.

Een <did:web:url> bestaat uit een <did:web:base-url> en optioneel een <did:web:path>.

Indien een <did:web:url> géén path component bevat, dan wordt een didDocumentRequest op de volgende wijze verzonden:

GET <did:web:url>/.well-known/did.json

Indien een <did:web:url> een path component bevat, dan wordt een didDocumentRequest op de volgende wijze verzonden:

GET <did:web:base-url>/<did:web:path>/did.json

Voorbeelden:

  • did:web:huisarts-delinden.nl wordt vertaald naar GET huisarts-delinden.nl/.well-known/did.json

  • did:web:huisarts-delinden.nl:ura:12345678 wordt vertaald naar GET huisarts-delinden.nl/ura/12345678/did.json

Inhoud en formaat van een didDocumentResponse

Een didDocumentResponse bevat de volgende headers:

Content-Type: application/did+ld+json; charset=utf-8
Cache-Control: must-revalidate, max-age=<max-age-metadata>
Pragma: no-cache

Een client mag verkregen responses conform de Cache-Control header directives, zoals beschreven in RFC 7234, cachen.

Zie ook Key Material and Document Handling voor een beschrijving van hoe een client dient om te gaan met een didDocumentResponse.

De body van de didDocumentResponse bevat een DID document. De inhoud van een DID-document voldoet aan DID Document properties, waarbij de volgende properties van belang zijn:

  • id: de did:web identifier

  • verificationMethod (optioneel): een lijst van publieke sleutels die eigendom zijn van deze DID, uitgedrukt als JWK (JSON Web Key), conform RFC 7517. Elke sleutel MOET een unieke id hebben (opgebouwd als did:web:example.nl#key-1) en een type van JsonWebKey2020.

  • assertionMethod (verplicht voor issuers van Verifiable Credentials)

  • authentication (verplicht voor issuers van Verifiable Presentations)

Eventuele references in assertionMethod en authentication moeten verwijzen naar verificationMethods in hetzelfde DID-document.

De sleutels die worden gehanteerd voor assertionMethod en voor authentication moeten verschillend zijn.

Een voorbeeld van de HTTP body van een didDocumentResponse is hieronder opgenomen.

CODE
{ 
  "@context": [ 
    "https://www.w3.org/ns/did/v1", 
    "https://w3id.org/security/suites/jws-2020/v1" 
  ], 
  "id": "did:web:huisarts-delinden.nl", 
  "verificationMethod": [ 
    { 
      "id": "did:web:huisarts-delinden.nl#assertion-key-1", 
      "type": "JsonWebKey2020", 
      "controller": "did:web:huisarts-delinden.nl", 
      "publicKeyJwk": { 
        "kty": "EC", 
        "crv": "P-256", 
        "x": "f83OJ3D2xF1Bg8vub9tLe1gHMzV76e8Tus9uPHvRVEU", 
        "y": "x_FEzRu9m36HLN_tue659LNpXW6pCyStikYjKIWI5a0" 
      } 
    }, 
    { 
      "id": "did:web:huisarts-delinden.nl#auth-key-1", 
      "type": "JsonWebKey2020", 
      "controller": "did:web:huisarts-delinden.nl", 
      "publicKeyJwk": { 
        "kty": "EC", 
        "crv": "P-256", 
        "x": "iGRzTt4S5MWRMj9AHYxMj3NY2gczR30YS1YSwNivfbk", 
        "y": "L2n3xtAiIfikTAKztVOjvnykGqNPcEWCDAcEMJn3cNo" 
      } 
    } 
  ], 
  "assertionMethod": [ 
    "did:web:huisarts-delinden.nl#assertion-key-1" 
  ], 
  "authentication": [ 
    "did:web:huisarts-delinden.nl#auth-key-1" 
  ] 
}

Aanvullende eisen

AOF-I.GEN.130.v1 - Gebruik van veilig GBC netwerk

De interface wordt aangeboden op een veilig GBC netwerk.

Als veilig GBC netwerk is vooralsnog gekozen voor AORTA-net, dus via een GZN.

AOF-I.GEN.150.v1 - Gebruik van HTTP

HTTP-requests en -responses op deze interface worden verzonden conform HTTP versie 1.1. 

Alle HTTP-verkeer wordt verzonden binnen een TLS verbinding.

AOF-I.GEN.210.v1 - TLS verbindingen

TLS clients en TLS servers dienen tenminste TLS versie 1.3 te ondersteunen en mogen hierbij slechts gebruik maken van algoritmeselecties uit de categorie "Goed", zoals genoemd in bijlage C van de ICT-beveiligingsrichtlijnen voor Transport Layer Security (TLS).

Bij het opzetten van een verbinding dient gebruik te worden gemaakt van de sterkste algoritmeselectie die door beide partijen wordt ondersteund.

Binnen TLS verbindingen dienen tijdelijke sleutels te worden toegepast, die elke 5 minuten worden ververst door middel van TLS Secure Renegotiation.

TLS verbindingen worden opgezet middels PKIo servercertificaten of, voor zorgaanbieders, m.b.v. UZI-servercertificaten.

AOF-I.GEN.300.v1 - Systeem Authenticatie (TLS)

Indien uitwisseling plaatsvindt binnen TLS verbindingen, dan dient op deze interface gebruik te worden gemaakt van eenzijdige authenticatie (TLS), waarbij de TLS server zich authenticeert bij de TLS client.

GBC-I.DID.100.v1 - Sleutelrotatie

Bij sleutelrotatie wordt een nieuwe sleutel toegevoegd aan het DID-document.

Oude sleutels hoeven niet direct te worden verwijderd. Zolang er geldige credentials in omloop zijn die met een sleutel zijn ondertekend, en de sleutel niet is ingetrokken, mag deze in het DID-document blijven staan.

Een sleutel moet worden verwijderd:

  • zodra het laatste credential dat ermee is ondertekend is verlopen, of

  • wanneer de sleutel wordt ingetrokken.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.