Skip to content
This repository has been archived by the owner on Mar 18, 2023. It is now read-only.
/ go-jwt-keymgmt Public archive

A package for key management of EdDSA keys for JWTs written in go(lang)

License

Notifications You must be signed in to change notification settings

FossoresLP/go-jwt-keymgmt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Public key management for EdDSA JSON Web Tokens

This package provides a full key management solution for EdDSA keys.

Be careful when using this package. It is currently WIP and the API might change.

It is seperated into 4 components:

  1. An implementation of JSON Web keys and sets thereof used by all other components.
  2. A server used to store public keys for token validation.
  3. A validation component that can be integrated into any application.
  4. A generation component that can be integrated into any application.

The implementation of JWKs is intended for internal use but can also be integrated into other applications. This use-case may not be tested though.

Using the keyserver as part of an already running webserver is currently not supported and not advisable due to creating additional security risks.

The validation component can be used anywhere a JWT is received and has to be validated. It does currently only support Ed25519 since there is no stable Ed448 implementation in Go.

Be careful when using the generation component as it stores the private key necessary to generate JWTs. To ensure the greatest amount of security, it should be run in an isolated environment with appropriate protection. The private keys are never written to disk but instead stored in RAM while the application is running. Restarting the application will generate a new key set and submit the public key to the keyserver.

About

A package for key management of EdDSA keys for JWTs written in go(lang)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages