jolokia
Strong encryption, made simple.
Examples
$ jolokia genkey
hNbaua5cGlUNsEp4HSUTSJG7gl5IURQiTvnABzhFW4w
$ jolokia encrypt "hello, world!" --key hNbaua5cGlUNsEp4HSUTSJG7gl5IURQiTvnABzhFW4w
Q0gyMAGnAk2xt/+cAAAAHYUv/WBO+VxMGHodIL0Qzjbtnv/LPpQd3CCcYW0kAAAAAA
# Same as passing `--key`.
$ export JOLOKIA_CIPHER_KEY=hNbaua5cGlUNsEp4HSUTSJG7gl5IURQiTvnABzhFW4w
$ jolokia decrypt Q0gyMAGnAk2xt/+cAAAAHYUv/WBO+VxMGHodIL0Qzjbtnv/LPpQd3CCcYW0kAAAAAA
hello, world!
# The key can be stored inside a file as well.
$ jolokia decrypt --key /secrets/jolokia.key Q0gyMAGnAk2xt/+cAAAAHYUv/WBO+VxMGHodIL0Qzjbtnv/LPpQd3CCcYW0kAAAAAA
hello, world!
Roadmap
-
genkey -
encrypt/decrypt- From CLI argument.
- From
stdin. - From file (show example with
tar). - From directory (
-R,--recursive).
- Complete
--help. -
-r/--raw(if you don't want base64 output/input). - Streaming cipher (everything is ready for it, CLI and algos, the two are just not yet connected).
- Choose
--algorithm(JOLOKIA_ALGORITHM).- ChaCha20-Poly1305
- ROT13 (useless, but forces generic design).
- RSA
- If multiple algorithms, should we keep
JOLOKIA_CIPHER_KEYas default also support specialized:JOLOKIA_CIPHER_KEY_CHACHA20POLY1305?). If so, renameJOLOKIA_CIPHER_KEYto justJOLOKIA_KEY. - Zeroize secrets.
- Support in-place ciphering (with a temporary intermediate file).
Installation
Directly
$ wget https://github.com/qrichert/jolokia/releases/download/X.X.X/jolokia-X.X.X-xxx
$ sudo install ./jolokia-* /usr/local/bin/jolokia
Manual Build
System-wide
$ git clone https://github.com/qrichert/jolokia.git
$ cd jolokia
$ make build
$ sudo make install
Through Cargo
cargo install jolokia
cargo install --git https://github.com/qrichert/jolokia.git