RustySecrets CLI

Build Status Crates.io license

rustysecrets-cli is a command-line wrapper around RustySecrets, a Rust implementation of threshold Shamir's secret sharing.

Installation

$ cargo install rustysecrets-cli

Usage

```bash $ mkdir shares $ cat > secret.txt These programs were never about terrorism: they’re about economic spying, social control, and diplomatic manipulation. They’re about power. ^D

$ rustysecrets split secret.txt -o shares -k 7 -n 10 -m text/plain $ ls shares/ share0 share1 share2 share3 share4 share5 share6 share7 share8 share9

$ rustysecrets recover shares/share{0-6} info: Version: INITIALRELEASE info: MIME-Type: text/plain These programs were never about terrorism: they’re about economic spying, social control, and diplomatic manipulation. They’re about power.

$ rustysecrets recover shares/share_{0-2} error: Could not recover secret caused by: Not enough shares provided! ```

Documentation

rustysecrets

``` USAGE: rustysecrets

OPTIONS: -h, --help Prints help information -V, --version Prints version information

SUBCOMMANDS: help Prints this message or the help of the given subcommand(s) recover Recover the secret from the shares [aliases: r] split Split a secret into shares [aliases: s] ```

rustysecrets split

Split a secret into shares

``` USAGE: rustysecrets split [OPTIONS] --output

-k -n

OPTIONS: -o, --output

Path to the directory to output the shares to -m, --mime The MIME type of the secret -h, --help Prints help information -k Number of shares necessary to recover the secret -n Total number of generated shares -r, --raw Include this flag to generate raw shares (ie. without a MIME type) -t, --share-tmpl Template for the share names. Defaults to 'share_{{num}}' -s, --sign Sign the shares -v, --verbose Enable verbose mode

ARGS: Path to the file containing the secret to split, or - to read from stdin ```

rustysecrets recover

Recover the secret from the shares

``` USAGE: rustysecrets recover [OPTIONS] ...

OPTIONS: -o, --output Path to file to output the secret to, prints to stdout if omitted -h, --help Prints help information -r, --raw Include this flag if the shares are raw (ie. do not contain a MIME type) -v, --verbose Enable verbose mode --verify Verify the shares signatures

ARGS: ... Paths to shares to recover the secret from ```

Bug Reporting

Please report bugs either as pull requests or as issues in the issue tracker. rustysecrets-cli has a full disclosure vulnerability policy. Please do NOT attempt to report any security vulnerability in this code privately to anybody.

License

RustySecrets CLI is released under the BSD3 license. See LICENSE for more informations.