@transmute/did-jwk-pqc

0.0.2 • Public • Published

@transmute/did-jwk-pqc

CI Branches Functions Lines Statements Jest coverage NPM

Questions? Contact Transmute

🚧 Warning Experimental 🔥

This project contains experimental and not yet adopted JOSE kty and alg values for post quantum keys and signatures.

See DRAFT IETF COSE Post Quantum Signatures.

Use

CLI

npm i -g @transmute/did-jwk-pqc@latest
did-jwk-pqc generate-key CRYDI5

Library

npm i @transmute/did-jwk-pqc@latest --save
const { DID, JWK, JWS } = require('@transmute/did-jwk-pqc')
const key = await JWK.generateKeyPair('CRYDI5')

See the tests for additional usage.

Development

npm i
npm t

# to test the cli.
npm i -g .

CLI

Generate Key

Create a private key

npm run did-jwk-pqc generate-key CRYDI5 --silent > ./cli-examples/CRYDI5.jwk.json
npm run did-jwk-pqc generate-key FALCON512 --silent > ./cli-examples/FALCON512.jwk.json
npm run did-jwk-pqc generate-key SPHINCS+-SHAKE-256s-robust --silent > ./cli-examples/SPHINCS.jwk.json

Create DID

Create a DID.

npm run did-jwk-pqc create ./cli-examples/CRYDI5.jwk.json --silent > ./cli-examples/CRYDI5.id.json
npm run did-jwk-pqc create ./cli-examples/FALCON512.jwk.json --silent > ./cli-examples/FALCON512.id.json
npm run did-jwk-pqc create ./cli-examples/SPHINCS.jwk.json --silent > ./cli-examples/SPHINCS.id.json

Resolve DID

Resolve a DID

npm run did-jwk-pqc resolve `cat  ./cli-examples/CRYDI5.id.json | jq '.id'` --silent > ./cli-examples/CRYDI5.resolution.json
npm run did-jwk-pqc resolve `cat  ./cli-examples/FALCON512.id.json | jq '.id'` --silent > ./cli-examples/FALCON512.resolution.json
npm run did-jwk-pqc resolve `cat  ./cli-examples/SPHINCS.id.json | jq '.id'` --silent > ./cli-examples/SPHINCS.resolution.json

Dereference DID

Dereference a DID.

npm run did-jwk-pqc dereference `cat  ./cli-examples/CRYDI5.id.json | jq '.id'`#0 --silent > ./cli-examples/CRYDI5.dereference.json
npm run did-jwk-pqc dereference `cat  ./cli-examples/FALCON512.id.json | jq '.id'`#0 --silent > ./cli-examples/FALCON512.dereference.json
npm run did-jwk-pqc dereference `cat  ./cli-examples/SPHINCS.id.json | jq '.id'`#0 --silent > ./cli-examples/SPHINCS.dereference.json

Sign

Sign as a DID

npm run did-jwk-pqc sign ./cli-examples/CRYDI5.jwk.json ./cli-examples/message.json --silent > ./cli-examples/CRYDI5.message.signed.json
npm run did-jwk-pqc sign ./cli-examples/FALCON512.jwk.json ./cli-examples/message.json --silent > ./cli-examples/FALCON512.message.signed.json
npm run did-jwk-pqc sign ./cli-examples/SPHINCS.jwk.json ./cli-examples/message.json --silent > ./cli-examples/SPHINCS.message.signed.json

Verify

Verify with a DID

npm run did-jwk-pqc verify ./cli-examples/CRYDI5.message.signed.json --silent > ./cli-examples/CRYDI5.message.verified.json
npm run did-jwk-pqc verify ./cli-examples/FALCON512.message.signed.json --silent > ./cli-examples/FALCON512.message.verified.json
npm run did-jwk-pqc verify ./cli-examples/SPHINCS.message.signed.json --silent > ./cli-examples/SPHINCS.message.verified.json

Verify and decode

npm run did-jwk-pqc verify ./cli-examples/CRYDI5.message.signed.json --silent -- --decode
npm run did-jwk-pqc verify ./cli-examples/FALCON512.message.signed.json  --silent  -- --decode
npm run did-jwk-pqc verify ./cli-examples/SPHINCS.message.signed.json  --silent  -- --decode

Create Cute DID

Create a cute DID.

npm run did-jwk-pqc cute ./cli-examples/CRYDI5.jwk.json --silent
# 🐍🌱🦉

Readme

Keywords

none

Package Sidebar

Install

npm i @transmute/did-jwk-pqc

Weekly Downloads

0

Version

0.0.2

License

Apache-2.0

Unpacked Size

177 kB

Total Files

10

Last publish

Collaborators

  • ipbyrne
  • or13
  • transmute-ci