7个版本

0.3.7 2020年7月24日
0.3.6 2020年7月18日
0.3.0 2020年6月30日

#6 in #xchacha20

Apache-2.0 OR MIT

150KB
2.5K SLoC

使用secret-keeper的命令行信封加密

使用Secret Keeper进行加密和解密

安装

cargo安装 encrypt-rs

运行

  # Encrypt file
  $ encrypt enc -o OUT [ -k KEEPER ] [ -c CIPHER ] FILE

  # Decrypt file
  $ encrypt dec -o OUT [ -k KEEPER ] [ -c CIPHER ] FILE

  # View key envelope
  $ encrypt key view   [ -k KEEPER ] FILE

-k KEEPER 选项:(默认:'env:')

  • env: (EnvKeeper)
    • env:VARNAME - 生成密钥的密码在环境变量VAULT_PASSWORD中
    • env: - 生成密钥的密码在环境变量VARNAME中
     # example:
     export PASSWORD="my-super-secret-passphrase"
     encrypt enc -o FILE.enc -k env:PASSWORD FILE
    
  • prompt: (PromptKeeper)
    • 用户将在终端提示输入密码以生成密钥
  • hashivault: (HashivaultKeeper)
    • 密钥加密密钥在hashivault传输服务器上。请参阅hashivault keeper文档中的url语法
    # example:
    encrypt enc -o FILE.enc -k hashivault://my_key FILE
    
  • cloudkms: (CloudKMSKeeper)
    # example:
    encrypt enc -o FILE.enc -k cloudkms:/PROJ/global/my_keyring/my_key FILE
    

-c CIPHER 选项:默认加密算法是LZ4XChaCha20Poly1305,它结合了LZ4压缩和XChaCha20-Poly1305。 (由RustCrypto实现的加密算法)

  • XChaCha20Poly1305 (别名:xchacha20xchacha20poly1305)
  • LZ4XChaCha20Poly1305 (别名:lz4lz4xchacha20lz4xchacha20poly1305)
  • AesGcm256 (别名:aesaesgcmaesgcm256)

在test* shell脚本中有一些额外的使用示例。

随机数生成

使用平台OS CSRNG生成文件非和密钥,使用rand crate。

依赖关系

~9–21MB
~377K SLoC