Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jedisct1/rsign2
A command-line tool to sign files and verify signatures in pure Rust.
https://github.com/jedisct1/rsign2
cryptography ed25519 minisign rust signatures
Last synced: about 2 months ago
JSON representation
A command-line tool to sign files and verify signatures in pure Rust.
- Host: GitHub
- URL: https://github.com/jedisct1/rsign2
- Owner: jedisct1
- License: mit
- Created: 2019-04-28T10:57:08.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-09-17T11:54:40.000Z (almost 1 year ago)
- Last Synced: 2024-05-09T15:51:54.539Z (4 months ago)
- Topics: cryptography, ed25519, minisign, rust, signatures
- Language: Rust
- Size: 44.9 KB
- Stars: 122
- Watchers: 7
- Forks: 10
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# rsign2
A Rust implementation of [Minisign](https://jedisct1.github.io/minisign/).
All signatures produced by `rsign` can be verified with `minisign` including trusted comments.
And `minisign` is able to sign files with keys generated by `rsign2`.
In Rust, signatures can also be verified with the [minisign-verify](https://docs.rs/minisign-verify) crate.
`rsign2` is a maintained fork of [`rsign`](https://docs.rs/crate/rsign/), originally written by Daniel Rangel.
Main differences with rsign:
- `rsign2` is written in pure Rust.
- `rsign2` has way less dependencies.
- `rsign2` includes bug fixes and improvements.
- `rsign2` tries to be usable as a library, not just as a command-line tool.
- `rsign2` supports WebAssembly.## API documentation
`rsign2` is only a command-line interface. It relies on the Minisign crate, that can be embedded in any application:
[API documentation on docs.rs](https://docs.rs/minisign)
## Usage
```sh
rsign generate
```Generates a new key pair. The public key is printed in the screen and stored in `rsign.pub` by default. The secret key will be written at `~/.rsign/rsign.key`. You can change the default paths with `-p` and `-s` respectively.
```sh
rsign sign myfile.txt
```Sign `myfile.txt` with your secret key. You can add a signed trusted comment with:
```sh
rsign sign myfile.txt -t "my trusted comment"
```If you are signing files larger than 1Gb you must use `-H` to first hash the file and sign the hash after that:
```sh
rsign sign mylargefile.bin -H
```And to verify the signature with a given public key you can use:
```sh
rsign verify myfile.txt -p rsign.pub
```Or if you have saved the signature file with a custom name other than `myfile.txt.minisig` and want to use a public key string you can use:
```sh
rsign verify myfile.txt -P [PUBLIC KEY STRING] -x mysignature.file
```You can find more information using the help subcommand as in:
```text
rsign help [SUBCOMMAND]USAGE:
rsign [SUBCOMMAND]FLAGS:
-h, --help Prints help information
-V, --version Prints version informationSUBCOMMANDS:
generate Generate public and private keys
help Prints this message or the help of the given subcommand(s)
sign Sign a file with a given private key
verify Verify a signed file with a given public key
```