Skip to content

amany9000/dJWT

Repository files navigation


Logo


dJWT

A general purpose, Digital Signature-agnostic JWT implementation. You can plug in any Digital Signature Algorithm (DSA) using the correct Signer and Verifier interfaces.

Compatibile with the current (ECDSA/RSA) and post-quantum Digital Signature Schemes (Dilithium/SPHINCS+). Tested for several major blockchains: EVM-based(ethers/metamask), Polkadot and Bitcoin.

Installation

npm install djwt

Tested Libraries/Wallets

These DLT Packages/Wallets have been tested with djwt->>>>

Post-Quantum DSA

As post-quantum algorithms are in infancy right now, their landscape is constantly changing with new implementations coming in every year. Hence, djwt's Pluggable DSA is very useful in implementing these future-proof JWTs.

The post-quantum-jwt POC showcases djwt's compatibility with Post-Quantum DSAs. It utilises noble-post-quantum in the backgroud to implement the following DSA Schemes:

How to use 🛠️

  • For function specification refer to Documentation.
  • Check out the examples section for small working projects on the above mentioned signer libraries/wallets.
  • You can look at the types in types.ts.

✍️ Contributing

Found a bug? Create an issue.

If you have a contribution in mind, please check out our Contribution Guide for information on how to do so.


🌟 Spread the word!

If you want to say thank you and/or show support for dJWT:

  • Star to the project!
  • Tweet about the project on Twitter and tag me: @amany_9000

Developer 🧑🏻‍💻