#keybase #gpg #gnupg #openpgp

应用 kbgpg

Keybase 的 GnuPG 兼容封装器

3 个版本

使用旧的 Rust 2015

0.1.2 2017 年 8 月 20 日
0.1.1 2017 年 3 月 16 日
0.1.0 2017 年 3 月 16 日

#1805 in 密码学

GPL-2.0 许可证

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 的命令行选项是有机生长的,实际上有几种方式可以指定相同的事情(例如,gitlein 的工作方式非常不同)。其他工具可能需要进一步添加到 kbgpg/gpg 兼容性;欢迎使用案例/补丁。

许可证

版权 © 2014 Steve Smith

在 GPL v2 下分发;有关详细信息,请参阅 LICENSE。

依赖项

~7MB
~146K SLoC