- Update README.md with new Transact repo location
- Various dependency updates
- Add a 'cyl' CLI command with a 'jwt generate' subcommand
- Replace rust-crypto wtih sha2
- Various dependency updates, including migration to Rust 2021 and clap 4
- Derives
Hash
,PartialEq
, andEq
forPublicKey
andPrivateKey
. This allowsPublicKey
and/orPrivateKey
to be contained in structs which deriveHash
,PartialEq
, andEq
themselves.
- Update the
dirs
dependency version to 4. - Update the
rand
dependency version to 0.8. - Update the
secp256k1
dependency version to 0.20. - Update the
whoami
dependency version to 1.1. - Switch from Travis CI to GitHub Actions.
- Stabilize the
jwt
andkey-load
features. - Replace the
load_user_key
function with 4 new key loading functions:current_user_search_path
,current_user_key_name
,load_key
, andload_key_from_path
.
- Add the
VerifierFactory
trait that provides a concise API for creating signature verifiers. - Require the
Send
marker trait for all implementations of theContext
trait.
- Improve testing and documentation of the
jwt
module - Add the
load_user_key
function for loading a key from a file. This function is guarded by the experimentalkey-load
feature.
Signer
,Verifier
andContext
traits now require a methodalgorithm_name(&self) -> &str
,
- Add an experimental module to produce Cylinder-extended JSON Web Tokens.
These JWT's use Cylinder's core
Signer
andVerifier
traits to provide an avenue for applying custom signing algorithm options. The JWT's assume the public key of theSigner
to be the "issuer" of the token. This module is guarded by the experimentaljwt
feature.
PublicKey
now implementsPartialEq
andDebug
- Only return valid new random secp256k1 private keys. This removes a rare, but possible, bug where invalid keys could be generated.
- Add a hash implementation of the
Context
,Signer
, andVerifier
traits to be used for testing; this implementation is guarded by the experimentalhash
feature.
-
Initialize the library with a simple public interface that encapsulates algorithm implementation details
-
Provide a secp256k1 implementation for
Context
,Signer
, andVerifier