Skip to content

[bug] did:sov resolver VMs are not correct #1303

@gmulhearn-anonyome

Description

@gmulhearn-anonyome

the current DidSovResolver is only returning 1 VM, #1 and it's only responsibility is "key agreement".

https://sovrin-foundation.github.io/sovrin/spec/did-method-spec-template.html#crud-operation-definitions

The returned VMs should be re-evaluated against the spec. a few notes:

  • #1 should be #key-1
  • #key-1 should be referenced in authentication and assertion lists
  • VMs should also contains #key-agreement-1, which should reference the X25119 version of the #key-1 VM

we should have testing against the spec.

sample obj

DidDocument {
    id: Did {
        did: "did:sov:Dd92jXuEvTerjhTiKnSc27",
        method: Some(
            "sov",
        ),
        id: "Dd92jXuEvTerjhTiKnSc27",
        namespace: None,
    },
    also_known_as: [],
    controller: None,
    verification_method: [
        VerificationMethod {
            id: DidUrl {
                did_url: "#1",
                did: None,
                method: None,
                namespace: None,
                id: None,
                path: None,
                fragment: Some(
                    1..2,
                ),
                queries: {},
            },
            controller: Did {
                did: "did:sov:Dd92jXuEvTerjhTiKnSc27",
                method: Some(
                    "sov",
                ),
                id: "Dd92jXuEvTerjhTiKnSc27",
                namespace: None,
            },
            verification_method_type: Ed25519VerificationKey2018,
            public_key: Base58 {
                public_key_base58: "7t3LhTzn6abJV3HFEwPeKb7gs7K6U4xCUeE4ezHNLcFL",
            },
        },
    ],
    authentication: [],
    assertion_method: [],
    key_agreement: [
        Resolvable(
            DidUrl {
                did_url: "#1",
                did: None,
                method: None,
                namespace: None,
                id: None,
                path: None,
                fragment: Some(
                    1..2,
                ),
                queries: {},
            },
        ),
    ],
    capability_invocation: [],
    capability_delegation: [],
    service: [],
    extra: {},
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions