cipherhub

encrypt messages based on ssh public keys with easy import from github

  • 所有者: substack/cipherhub
  • 平台:
  • 许可证: Other
  • 分类:
  • 主题:
  • 喜欢:
    0
      比较:

Github星跟踪图

cipherhub

encrypt messages based on ssh public keys

cipherhub

It can be frustrating and annoying to communicate with somebody using public key
cryptography since setting up PGP/GPG is a hassle, particularly managing
keyrings and webs of trust.

Luckily, you can fetch the public ssh keys of anybody on github by going to:

https://github.com/$USERNAME.keys

If you just want to send somebody an encrypted message out of the blue and they
already have a github account with RSA keys uploaded to it, you can just do:

cipherhub $USERNAME < secret_message.txt

and it will fetch their public keys from github, storing the key locally for
next time.

There is an openssl rsautl command to do this but the usage is not
particularly friendly and doesn't keep a keyring around.

install

With npm do:

npm install -g cipherhub

to get the cipherhub command.

usage

cipherhub USERNAME {OPTIONS} < message.txt

  Create an encrypted message for USERNAME on stdin.
 
  If there isn't yet a local key stored for USERNAME, request a key from
  https://github.com/$USERNAME.keys
 
  If there are multiple RSA keys, the operation fails and you will need to
  add the key you want manually with `cipherhub --add`.
  If there are no RSA keys, the command fails with a nonzero exit code.
 
  OPTIONS are:
 
    --no-github     don't request key data from github, just fail
    --no-save       don't automatically save keys fetched from github
    --quiet, -q     suppress extra output
    --encoding, -e  output encoding to use. default: base64

cipherhub --add USERNAME < id_rsa.pub
cipherhub -a USERNAME < id_rsa.pub

  Set the public key for USERNAME from stdin.

cipherhub --remove USERNAME
cipherhub -r USERNAME

  Remove a USERNAME from the local key list.

cipherhub --list
cipherhub -l

  List all the keys in the local key list.

cipherhub --decrypt PRIVKEY {OPTIONS}
cipherhub -d PRIVKEY {OPTIONS}

  Decrypt a message on stdin with an rsa key file PRIVKEY.
  If PRIVKEY isn't specified, only `-d` by itself, cipherhub uses ~/.ssh/id_rsa

  OPTIONS are:

    --encoding, -e  input encoding. default: base64

crazy ideas

You can create
private github issues
by just encrypting your message with the maintainer's public key and posting the
issue with the ciphertext.

caveat npmtor

github's servers can be compromised by a court order, intruder, or employee. You
should use a secondary means of verification to check all the keys fetched from
github where secrecy from courts, intruders, and github employees is of
paramount importance.

license

MIT

主要指标

概览
名称与所有者substack/cipherhub
主编程语言JavaScript
编程语言JavaScript (语言数: 1)
平台
许可证Other
所有者活动
创建于2013-12-12 00:59:27
推送于2014-09-25 15:53:11
最后一次提交2014-09-25 18:50:41
发布数6
最新版本名称1.0.1 (发布于 2014-09-25 18:50:41)
第一版名称0.0.0 (发布于 2013-12-11 16:57:40)
用户参与
星数416
关注者数21
派生数22
提交数22
已启用问题?
问题数6
打开的问题数4
拉请求数0
打开的拉请求数0
关闭的拉请求数2
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?