Skip to content

OR13/did-jwk

Repository files navigation

did-jwk

npm i @or13/did-jwk --save

# install cli globally
npm i -g @or13/did-jwk

Use

CLI

Generate Key

did-jwk generate-key EdDSA

Generate For Purpose

did-jwk generate-for authenticity
did-jwk generate-for privacy

Sign & Verify

did-jwk generate-for authenticity > k0.json
echo '{"message": "hello"}' > m0.json
did-jwk sign ./k0.json ./m0.json > m0.signed.json
did-jwk verify ./m0.signed.json --decode

Encrypt & Decrypt

did-jwk generate-for privacy > k1.json
echo '{"message": "hello"}' > m0.json
did-jwk create ./k1.json > recipient_id.json
did-jwk encrypt `cat  ./recipient_id.json | jq '.id'` ./m0.json > m0.encrypted.json
did-jwk decrypt ./k1.json ./m0.encrypted.json  --decode

Development

npm i
npm t

# to test the cli.
npm i -g .

CLI

Generate Key

Create a private key

npm run did-jwk generate-key EdDSA --silent > ./src/cli-examples/key.json

Generate Key For Operation

Create a private key

npm run did-jwk generate-for authenticity --silent > ./src/cli-examples/key.authenticity.json
npm run did-jwk generate-for privacy --silent > ./src/cli-examples/key.privacy.json

Create DID

Create a DID.

npm run did-jwk create ./src/cli-examples/key.json --silent > ./src/cli-examples/id.json
npm run did-jwk create ./src/cli-examples/key.privacy.json --silent > ./src/cli-examples/id.encrypt.json

Resolve DID

Resolve a DID

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

Dereference DID

Dereference a DID.

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

Sign

Sign as a DID

npm run did-jwk sign ./src/cli-examples/key.json ./src/cli-examples/message.json --silent > ./src/cli-examples/message.signed.json

Verify

Verify with a DID

npm run did-jwk verify ./src/cli-examples/message.signed.json --silent > ./src/cli-examples/message.verified.json

Verify and decode

npm run did-jwk verify ./src/cli-examples/message.signed.json  -- --decode

Encrypt to a DID

Encrypt to a DID

npm run did-jwk encrypt `cat  ./src/cli-examples/id.encrypt.json | jq '.id'` ./src/cli-examples/message.json --silent > ./src/cli-examples/message.encrypted.json

Encrypt with a Private Key

Decrypt with a private key

npm run did-jwk decrypt ./src/cli-examples/key.privacy.json ./src/cli-examples/message.encrypted.json --silent > ./src/cli-examples/message.decrypted.json

Decrypt and decode as text

npm run did-jwk decrypt ./src/cli-examples/key.privacy.json ./src/cli-examples/message.encrypted.json -- --decode

Releases

No releases published

Packages

No packages published