Skip to content

[proposal] Metadata for ManagedPrivateKey #1361

@0x62

Description

@0x62

Is your feature request related to a problem? Please describe.
When building a multi-tenant and/or multi-user system using Veramo, it's likely you'll need to store private keys which can be accessed/used by multiple parties. For example, an organization might have a private key associated with did:web:organization.com. You'd want this key to be owned by the organization itself rather than a specific user, so that in the event that the underlying organization ownership is transferred the key can follow without additional changes.

There are likely other use-cases where you'd want to attach metadata to the private key outside of authz. At the moment there is no way to pass metadata to an AbstractPrivateKeyStore.

Describe the solution you'd like
We already have the KeyMetadata interface on ManagedKeyInfo. The meta object could also be added to the ManagedPrivateKey interface.

Describe alternatives you've considered
You can currently work around this by implementing a custom AbstractKeyManagementSystem, but this either requires a non-compliant AbstractPrivateKeyStore class (to receive the metadata), or separately associating the metadata after creating the key (which is also not ideal).

Additional context
It's worth considering how the existing algorithms property of KeyMetadata should be handled. Generating it dynamically (currently via asManagedKeyInfo) is probably preferable to storing alongside the key.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestkey-managerpinneddon't close this just for being stale

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions