nuts-foundation / nuts-foundation/nuts-node

Add expires and revoked fields to VerificationMethod (go-did)

Open
#4,082 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

LSPxNuts Project GF
Dominant language
Go
Stars
28
Forks
23
Avg merge
1d 10h
Merged PRs (30d)
76

Description

Parent PRD

#4079

What to build

Add Expires and Revoked fields to the VerificationMethod struct in the nuts-foundation/go-did library. These fields allow DID resolvers to annotate keys with temporal validity information (certificate expiry, revocation status), which key resolvers then use to determine if a key was valid at a given reference time (PSA 10.4.3).

  • Expires: optional timestamp indicating when the key expires (e.g., certificate notAfter)
  • Revoked: optional timestamp indicating when the key was revoked (e.g., CRL revocation date)

This aligns with the PSA spec's layered validation model where DID resolution enriches the DID document with key metadata, and key resolution uses that metadata to make time-based validity decisions.

Acceptance criteria

  • VerificationMethod struct in go-did has an Expires field (optional timestamp)
  • VerificationMethod struct in go-did has a Revoked field (optional timestamp)
  • Fields serialize/deserialize correctly in JSON
  • Existing tests pass, no breaking changes to the VerificationMethod API
  • nuts-node dependency on go-did is updated to the new version

Blocked by

None — can start immediately.

User stories addressed

  • User story 6: key validity checked at credential's issuance time
  • User story 8: layered validation model (DID resolution → key resolution)

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the VerificationMethod struct in the nuts-foundation/go-did library and inspect how its fields are serialized and tested. Add the two optional timestamps, verify JSON round-tripping and existing tests, then update the nuts-node dependency to the new go-did version.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
security
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.