Skip to content

digitalbazaar/bedrock-ssm-mongodb

Repository files navigation

bedrock-ssm-mongodb

Usage

This API is designed to be accessed using the bedrock-package-manager API.

import * as brPackageManager from '@bedrock/package-manager';

// require this module in the application
// it registers itself with bedrock-package-manager
import '@bedrock/ssm-mongodb';

// use the API
export async function callMethod({method, options, plugin}) {
  // the alias for bedrock-ssm-mongodb is 'ssm-v1'
  // the type for bedrock-ssm-mongodb is 'webkms-module'
  const {packageName} = brPackageManager.get(
    {alias: plugin, type: 'webkms-module'});
  const store = await import(packageName);

  const result = await store[method](options);

  return result;
}

API Reference

bedrock-ssm-mongodb

bedrock-ssm-mongodb.getKeyCount(options) ⇒ Promise.<object>

Gets the number of keys in a given keystore.

Kind: static method of bedrock-ssm-mongodb
Returns: Promise.<object> - Key count information.

Param Type Description
options object The options to use.
options.keystoreId string The ID of the keystore.

bedrock-ssm-mongodb.generateKey(options) ⇒ Promise.<object>

Generates a new key.

Kind: static method of bedrock-ssm-mongodb
Returns: Promise.<object> - Key information.

Param Type Description
options object The options to use.
options.keyId string The key ID to use.
options.controller string The key controller.
options.operation object The KMS operation.

bedrock-ssm-mongodb.wrapKey(options) ⇒ Promise.<object>

Wraps a cryptographic key using a key encryption key (KEK).

Kind: static method of bedrock-ssm-mongodb
Returns: Promise.<object> - An object containing {wrappedKey}.

Param Type Description
options object The options to use.
options.keyId string The key ID to use.
options.operation object The KMS operation.
[options.zcapInvocation] object The zcap invocation used to run the KMS operation; if the KMS operation was invoked via zcap.

bedrock-ssm-mongodb.unwrapKey(options) ⇒ Promise.<object>

Unwraps a cryptographic key using a key encryption key (KEK).

Kind: static method of bedrock-ssm-mongodb
Returns: Promise.<object> - An object containing {unwrappedKey}.

Param Type Description
options object The options to use.
options.keyId string The key ID to use.
options.operation object The KMS operation.
[options.zcapInvocation] object The zcap invocation used to run the KMS operation; if the KMS operation was invoked via zcap.

bedrock-ssm-mongodb.sign(options) ⇒ Promise.<object>

Signs some data. Note that the data will be sent to the server, so if this data is intended to be secret it should be hashed first. However, hashing the data first may present interoperability issues so choose wisely.

Kind: static method of bedrock-ssm-mongodb
Returns: Promise.<object> - An object containing {signatureValue}.

Param Type Description
options object The options to use.
options.keyId string The key ID to use.
options.operation object The KMS operation.
[options.zcapInvocation] object The zcap invocation used to run the KMS operation; if the KMS operation was invoked via zcap.

bedrock-ssm-mongodb.verify(options) ⇒ Promise.<object>

Verifies some data. Note that the data will be sent to the server, so if this data is intended to be secret it should be hashed first. However, hashing the data first may present interoperability issues so choose wisely.

Kind: static method of bedrock-ssm-mongodb
Returns: Promise.<object> - An object containing {verified}.

Param Type Description
options object The options to use.
options.keyId string The key ID to use.
options.operation object The KMS operation.
[options.zcapInvocation] object The zcap invocation used to run the KMS operation; if the KMS operation was invoked via zcap.

bedrock-ssm-mongodb.deriveSecret(options) ⇒ Promise.<object>

Derives a shared secret via the given peer public key, typically for use as one parameter for computing a shared key. It should not be used as a shared key itself, but rather input into a key derivation function (KDF) to produce a shared key.

Kind: static method of bedrock-ssm-mongodb
Returns: Promise.<object> - An object containing {secret}.

Param Type Description
options object The options to use.
options.keyId string The key ID to use.
options.operation object The KMS operation.
[options.zcapInvocation] object The zcap invocation used to run the KMS operation; if the KMS operation was invoked via zcap.