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.
npm install @digitalcredentials/keypair

> 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.
- Background
- Security
- Install
- Usage
- Contribute
- License
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:
* ed25519-verification-key-2020
* x25519-key-agreement-key-2020
For digital signatures using thelinked-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:
* Use Curve25519 with the minimal-cipher
library.
As with most security- and cryptography-related tools, the overall security of
your system will largely depend on your design decisions.
- Node.js 16+ is recommended.
To install via NPM:
```
npm install @digitalcredentials/keypair
To install locally (for development):
``
git clone https://github.com/digitalcredentials/keypair.git
cd keypair
npm install
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.export()
2. Subclass KeyPair.
3. Override relevant methods (such as and fingerprint()).crypto-suite-manager` README.md.
4. Add to the key type table in the
PRs accepted.
If editing the Readme, please conform to the
standard-readme specification.
MIT License © 2022 Digital Credentials Consortium.