3 个版本
使用旧的 Rust 2015
0.1.2 | 2017 年 8 月 20 日 |
---|---|
0.1.1 | 2017 年 3 月 16 日 |
0.1.0 | 2017 年 3 月 16 日 |
#1805 in 密码学
18KB
371 行
kbgpg - Keybase 的一个 GnuPG 兼容命令行封装器
简介
kbgpg
是一个为 Keybase 编写的轻量级 CLI 封装器,模拟了 GnuPG gpg
命令行客户端的一部分功能。它的主要目的是允许在仅支持 gpg
的程序中进行签名和验证,而无需在本地 GnuPG 密钥环中导入和管理密钥。主要目标是 git
,尽管其他工具也是可能的(见下文具体工具的使用方法)。
安装
kbgpg
使用 Rust 编写,并在 crates.io 上分发;如果您已经设置了开发环境,只需运行 cargo install kbgpg
。如果您没有设置 Rust,但希望以这种方式安装,请参阅 rustup 以获取安装 Rust 的最简单方法。
除此之外,还有一些二进制文件在 Bitbucket 上分发;目前仅提供 Linux amd64 和 OS X 架构。这些文件由我的 Keybase ID 签署。要使用这些二进制文件,只需下载相应的二进制文件,使其可执行,并将其放置在您的路径上。
用法
Git
kbgpg
的使用可以全局启用或按存储库启用。最简单的方法是使用 git config
git config --global gpg.program <path-to>/kbgpg
默认情况下,Git 将您的姓名/电子邮件作为密钥标识符传递;Keybase 不理解这一点,因此会被忽略;如果您只有一个密钥,那么将使用该密钥。如果您想指定一个密钥,可以通过向 git config 提供从 keybase pgp list
获取的 70 位密钥标识符来指定。
git config --global user.signingkey 0123456789abcdef....
要签名提交,请使用 git commit -S ...
。签名的提交将在您执行 git log --show-signatures
时由 kbgpg/Keybase 进行验证。
Leiningen
Leiningen 在执行发布时会同时签名 git 标签和生成的 JAR 文件。要使用 Keybase 完成这项任务,请将 Git 路径设置为 kbgpg
export GIT_LEIN=<path-to>/kbgpg
您可以在您的 project.clj
或 ~/.lein/profiles.clj
中覆盖默认的密钥 ID;有关详细信息,请参阅 Leiningen 的 GPG 文档。
其他
理论上,kbgpg
应该可以与任何使用 gpg
命令行并允许您覆盖二进制路径的程序一起工作。然而,gpg 的命令行选项是有机生长的,实际上有几种方式可以指定相同的事情(例如,git
和 lein
的工作方式非常不同)。其他工具可能需要进一步添加到 kbgpg/
gpg
兼容性;欢迎使用案例/补丁。
许可证
版权 © 2014 Steve Smith
在 GPL v2 下分发;有关详细信息,请参阅 LICENSE。
依赖项
~7MB
~146K SLoC