Versions in this module Expand all Collapse all v6 v6.2.13 Sep 22, 2026 v6.2.12 Sep 21, 2026 Changes in this version + const BaseURLServiceType + const DefaultMaxServiceReferenceDepth + const NutsSigningKeyType + var ErrDIDMethodNotSupported = errors.New("DID method not supported") + var ErrDIDNotManagedByThisNode = errors.New("DID document not managed by this node") + var ErrDeactivated = deactivatedError + var ErrDuplicateService = errors.New("service type is duplicate") + var ErrKeyNotFound = errors.New("key not found in DID document") + var ErrNoActiveController = deactivatedError + var ErrNotFound = errors.New("unable to find the DID document") + var ErrServiceNotFound = errors.New("service not found in DID Document") + var ErrServiceReferenceToDeep = errors.New("service references are nested to deeply before resolving to a non-reference") + func GetDIDFromURL(didURL string) (did.DID, error) + func IsDeactivated(document did.Document) bool + func IsFunctionalResolveError(target error) bool + func IsServiceReference(endpoint string) bool + func MakeServiceReference(subjectDID did.DID, serviceType string) ssi.URI + func ValidateServiceReference(endpointURI ssi.URI) error + type ChainedDIDResolver struct + Resolvers []DIDResolver + func (c ChainedDIDResolver) Resolve(id did.DID, metadata *ResolveMetadata) (*did.Document, *DocumentMetadata, error) + type DIDKeyResolver struct + Resolver DIDResolver + func (r DIDKeyResolver) ResolveKey(id did.DID, validAt *time.Time, relationType RelationType) (string, crypto.PublicKey, error) + func (r DIDKeyResolver) ResolveKeyByID(keyID string, metadata *ResolveMetadata, relationType RelationType) (crypto.PublicKey, error) + type DIDResolver interface + Resolve func(id did.DID, metadata *ResolveMetadata) (*did.Document, *DocumentMetadata, error) + type DIDResolverRouter struct + func (r *DIDResolverRouter) Register(method string, resolver DIDResolver) + func (r *DIDResolverRouter) Resolve(id did.DID, metadata *ResolveMetadata) (*did.Document, *DocumentMetadata, error) + type DIDServiceResolver struct + Resolver DIDResolver + func (s DIDServiceResolver) Resolve(query ssi.URI, maxDepth int) (did.Service, error) + func (s DIDServiceResolver) ResolveEx(endpoint ssi.URI, depth int, maxDepth int, ...) (did.Service, error) + type DocFinder interface + Find func(...Predicate) ([]did.Document, error) + type DocIterator func(doc did.Document, metadata DocumentMetadata) error + type DocumentMetadata struct + Created time.Time + Deactivated bool + Hash hash.SHA256Hash + PreviousHash *hash.SHA256Hash + SourceTransactions []hash.SHA256Hash + Updated *time.Time + func (m DocumentMetadata) Copy() DocumentMetadata + func (m DocumentMetadata) IsConflicted() bool + type KeyResolver interface + ResolveKey func(id did.DID, validAt *time.Time, relationType RelationType) (string, crypto.PublicKey, error) + ResolveKeyByID func(keyID string, metadata *ResolveMetadata, relationType RelationType) (crypto.PublicKey, error) + type MockDIDResolver struct + func NewMockDIDResolver(ctrl *gomock.Controller) *MockDIDResolver + func (m *MockDIDResolver) EXPECT() *MockDIDResolverMockRecorder + func (m *MockDIDResolver) Resolve(id did.DID, metadata *ResolveMetadata) (*did.Document, *DocumentMetadata, error) + type MockDIDResolverMockRecorder struct + func (mr *MockDIDResolverMockRecorder) Resolve(id, metadata any) *gomock.Call + type MockDocFinder struct + func NewMockDocFinder(ctrl *gomock.Controller) *MockDocFinder + func (m *MockDocFinder) EXPECT() *MockDocFinderMockRecorder + func (m *MockDocFinder) Find(arg0 ...Predicate) ([]did.Document, error) + type MockDocFinderMockRecorder struct + func (mr *MockDocFinderMockRecorder) Find(arg0 ...any) *gomock.Call + type MockKeyResolver struct + func NewMockKeyResolver(ctrl *gomock.Controller) *MockKeyResolver + func (m *MockKeyResolver) EXPECT() *MockKeyResolverMockRecorder + func (m *MockKeyResolver) ResolveKey(id did.DID, validAt *time.Time, relationType RelationType) (string, crypto.PublicKey, error) + func (m *MockKeyResolver) ResolveKeyByID(keyID string, metadata *ResolveMetadata, relationType RelationType) (crypto.PublicKey, error) + type MockKeyResolverMockRecorder struct + func (mr *MockKeyResolverMockRecorder) ResolveKey(id, validAt, relationType any) *gomock.Call + func (mr *MockKeyResolverMockRecorder) ResolveKeyByID(keyID, metadata, relationType any) *gomock.Call + type MockNutsKeyResolver struct + func NewMockNutsKeyResolver(ctrl *gomock.Controller) *MockNutsKeyResolver + func (m *MockNutsKeyResolver) EXPECT() *MockNutsKeyResolverMockRecorder + func (m *MockNutsKeyResolver) ResolvePublicKey(kid string, sourceTransactionsRefs []hash.SHA256Hash) (crypto.PublicKey, error) + type MockNutsKeyResolverMockRecorder struct + func (mr *MockNutsKeyResolverMockRecorder) ResolvePublicKey(kid, sourceTransactionsRefs any) *gomock.Call + type MockPredicate struct + func NewMockPredicate(ctrl *gomock.Controller) *MockPredicate + func (m *MockPredicate) EXPECT() *MockPredicateMockRecorder + func (m *MockPredicate) Match(arg0 did.Document, arg1 DocumentMetadata) bool + type MockPredicateMockRecorder struct + func (mr *MockPredicateMockRecorder) Match(arg0, arg1 any) *gomock.Call + type MockServiceResolver struct + func NewMockServiceResolver(ctrl *gomock.Controller) *MockServiceResolver + func (m *MockServiceResolver) EXPECT() *MockServiceResolverMockRecorder + func (m *MockServiceResolver) Resolve(query ssi.URI, maxDepth int) (did.Service, error) + func (m *MockServiceResolver) ResolveEx(endpoint ssi.URI, depth, maxDepth int, documentCache map[string]*did.Document) (did.Service, error) + type MockServiceResolverMockRecorder struct + func (mr *MockServiceResolverMockRecorder) Resolve(query, maxDepth any) *gomock.Call + func (mr *MockServiceResolverMockRecorder) ResolveEx(endpoint, depth, maxDepth, documentCache any) *gomock.Call + type NutsKeyResolver interface + ResolvePublicKey func(kid string, sourceTransactionsRefs []hash.SHA256Hash) (crypto.PublicKey, error) + type Predicate interface + Match func(did.Document, DocumentMetadata) bool + func ByServiceType(serviceType string) Predicate + func IsActive() Predicate + func ValidAt(at time.Time) Predicate + type RelationType uint + const AssertionMethod + const Authentication + const CapabilityDelegation + const CapabilityInvocation + const KeyAgreement + type ResolveMetadata struct + AllowDeactivated bool + Hash *hash.SHA256Hash + JwtProtectedHeaders map[string]interface{} + ResolveTime *time.Time + SourceTransaction *hash.SHA256Hash + func (m *ResolveMetadata) GetProtectedHeaderChain(key string) (*cert.Chain, bool) + func (m *ResolveMetadata) GetProtectedHeaderString(key string) (string, bool) + type ServiceQueryError struct + Err error + func (e ServiceQueryError) Error() string + func (e ServiceQueryError) Unwrap() error + type ServiceResolver interface + Resolve func(query ssi.URI, maxDepth int) (did.Service, error) + ResolveEx func(endpoint ssi.URI, depth int, maxDepth int, ...) (did.Service, error)