1.0.5 • Published 2 years ago

@digitalcredentials/keypair v1.0.5

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

Cryptographic Key Pair (@digitalcredentials/keypair)

Build status NPM Version

Cryptographic key pair data model in Javascript/Typescript, for Node.js, browsers, and React Native. Useful for Verifiable Credentials, DIDs (Decentralized Identifiers), and other uses of Data Integrity.

Table of Contents

Background

Extracted from Digital Bazaar's crypto-ld library, and converted to Typescript.

This is an abstract key pair data model, meant to be used in individual subclass key pair implementations, such as:

Choosing a Key Type

For digital signatures using the linked-data-integrity library, signing of Verifiable Credentials using vc library, authorization capabilities, and DIDAuth operations:

  • Prefer Ed25519VerificationKey2020 type keys, by default.
  • Use EcdsaSepc256k1 keys if your use case requires it (for example, if you're developing for a Bitcoin-based or Ethereum-based ledger), or if you require Hierarchical Deterministic (HD) wallet functionality.

For key agreement protocols for encryption operations:

Security

As with most security- and cryptography-related tools, the overall security of your system will largely depend on your design decisions.

Install

  • Node.js 16+ is recommended.

NPM

To install via NPM:

npm install @digitalcredentials/keypair

Development

To install locally (for development):

git clone https://github.com/digitalcredentials/keypair.git
cd keypair
npm install

Usage

This library is meant to be used only by implementers of new cryptographic key suite libraries.

When adding support for a new suite type subclass of keypair, developers should do the following:

  1. Create their own npm package / github repo, such as example-key-pair.
  2. Subclass KeyPair.
  3. Override relevant methods (such as export() and fingerprint()).
  4. Add to the key type table in the crypto-suite-manager README.md.

Contribute

PRs accepted.

If editing the Readme, please conform to the standard-readme specification.

License

MIT License © 2022 Digital Credentials Consortium.