2.0.0 • Published 2 years ago

@verixyz/key-manager v2.0.0

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
2 years ago

verixyz Key Manager plugin

This plugin combines multiple Key management systems and exposes a unified API to the DID manager and other plugins that require crypto functionality.

Classes

AbstractKeyManagementSystem

Methods

  • createKey(args)
  • deleteKey(args)
  • importKey(args)
  • listKeys()
  • sharedSecret(args)
  • sign(args)
  • signEthTX({ key, transaction })
  • signJWT({ key, data })

AbstractKeyStore

Methods

  • delete(args)
  • get(args)
  • import(args)
  • list(args)

AbstractPrivateKeyStore

Methods

  • delete(args)
  • get(args)
  • import(args)
  • list(args)

AbstractSecretBox

Methods

  • decrypt(encryptedMessageHex)
  • encrypt(message)

KeyManager

Agent plugin that provides IKeyManager methods

Constructors

  • (constructor)(options) Constructs a new instance of the KeyManager class

Properties

  • methods: IKeyManager Plugin methods
  • schema: any

Methods

  • createX25519ECDH(secretKeyRef)
  • keyManagerCreate(args) Creates and returns a new key
  • keyManagerDecryptJWE({ kid, data })
    Decrypts data
  • keyManagerDelete({ kid }) Deletes a key
  • keyManagerEncryptJWE({ kid, to, data })
    Encrypts data
  • keyManagerGet({ kid }) Returns an existing key
  • keyManagerGetKeyManagementSystems() Lists available key management systems
  • keyManagerImport(key) Imports a created key
  • keyManagerSharedSecret(args)
  • keyManagerSign(args) Generates a signature according to the algorithm specified.
  • keyManagerSignEthTX({ kid, transaction })
    Signs Ethereum transaction
  • keyManagerSignJWT({ kid, data }) Signs JWT

MemoryKeyStore

Methods

  • delete({ kid })
  • get({ kid })
  • import(args)
  • list(args)

MemoryPrivateKeyStore

An implementation of AbstractPrivateKeyStore that holds everything in memory. This is usable by to hold the private key data.

Methods

  • delete({ alias })
  • get({ alias })
  • import(args)
  • list()

Interfaces

ManagedPrivateKey

Properties

  • alias: string
  • privateKeyHex: string
  • type: TKeyType

ManagedPrivateKey