
【免费下载链接】krDEPRECATED A dev tool for SSH auth Git commit/tag signing using a key stored in Krypton.项目地址https://gitcode.com/gh_mirrors/kr/kr点击查看免费下载kr 是一个 Krypton 开发工具能让你的Git Commit / Tag 用存储在手机里的密钥完成 PGP 签名。本文带你完成 krgpg 签名工具的安装、配对接手机、验证签名的完整实战流程私钥永不离开手机。⚠️ 提示该项目已标记 DEPRECATED功能本身依旧完整可用本文基于其源码整理同样适合作为理解“手机密钥 Git 签名”方案的参考。一、kr 是什么krgpg 又是谁kr命令行入口负责配对接手机、管理本地 SSH Agentkrd守护进程krgpg兼容gpg命令行的签名程序Git 调用它时它把“签名请求”转发到手机由 Krypton App 决定是否放行krd后台守护进程SSH Agentkrgpg的所有请求都经过它转发到手机krsshSSH 认证入口配合kr sshconfig使用一次签名的完整链路git commit -S ──▶ krgpg ──▶ krd 守护进程 ──▶ Krypton App手机 │ 签名结果 ◀──────────────── 你按下“允许” 核心价值私钥永远保存在手机里电脑被拖库也拿不到密钥每次签名都需要手机确认签名即审计。二、一键安装三种方式任选其一方式命令适合场景官方脚本curl https://krypt.co/kr \| sh想最快上手源码安装make install make startmacOS 10.10 / Linux 64位只编译make只需二进制到bin/目录从源码安装时Makefile 会在install目标下把 4 个二进制文件装入系统路径make install # 安装 kr / krd / krssh / krgpg 到 PREFIX/bin make start # 注册并重启 krd 守护进程macOS 会写入 LaunchAgent 相关路径安装脚本入口install/os.sh源码构建说明src/go.mod三、配对接手机kr pair安装完成后执行kr pair终端会显示一个QR Code用 Krypton 手机 AppiOS / Android扫码确认即可。之后krd守护进程常驻负责接收来自krgpg的签名请求。 二维码实现src/kr/qrcode.go四、krgpg 签名工具一键配置kr codesign这是全文最关键的一步kr codesign执行后kr会自动完成所有配置包括从手机拉取你的PGP 公钥注意签名用的是 PGP 公钥不是 SSH 公钥写入 Git 全局配置gpg.program指向krgpg的绝对路径询问是否把公钥加入 GitHub方便平台显示签名认证询问是否开启自动提交签名写入commit.gpgSigntrue与tag.forceSignAnnotatedtrue引导你在 shell 配置中写入export GPG_TTY$(tty) 上述流程的核心逻辑src/kr/kr_pgp.go手动配置等价命令详解如果你想手动完成同样的事对应命令如下# 1. 让 Git 用 krgpg 替代 gpg git config --global gpg.program $(which krgpg) # 2. 指定签名密钥换成你 kr me pgp 输出的 KeyID git config --global user.signingKey C2E6E330 # 3. 开启所有 commit 自动签名 git config --global commit.gpgSign true # 4. 标注 tag 强制签名 git config --global tag.forceSignAnnotated true上面 4 个 git 配置项的含义项目内 gpg-notes.md 有完整说明。别忘了一行 shell 配置为了让终端能显示 Krypton 的签名日志“请求手机签名中 / 已允许”在~/.bashrc或~/.zshrc中加入export GPG_TTY$(tty)krgpg启动时会优先读取GPG_TTY环境变量把日志写到你的终端逻辑见 src/krgpg/main.go。五、实战测试验证签名真的生效最快的验证方式让 kr 自己跑一遍kr codesign test它会在临时目录创建一个空仓库并执行git commit -S成功会看到绿色的Codesigning successful ✔。也可以在日常仓库里手动验证git commit -S -m my signed commit # 提交时手机会弹出确认 git verify-commit HEAD # 验证最近一次提交签名 git log --show-signature -1 # 查看签名详情签名成功时git log会显示类似gpg: Good signature from ...的绿标 ✅六、krgpg 工作原理速览读源码签名Git 通过 stdin 把 commit 内容tree/parent/author/committer/message喂给krgpg它解析后构造GitSignRequest发给krd手机放行后返回 ASCII Armor 签名打印到 stdout —— 见 src/krgpg/main.go 的signGit()Tag 签名解析object/type/tag/tagger结构后走同一链路见signGitTag()优雅降级请求失败且系统装有本地gpg时会自动回退到本地 gpg保证提交不被卡死守护进程请求手机交互的协议实现位于 src/common/protocol/request.go守护进程端在 src/daemon/control/server.go七、常用命令速查表 命令作用kr pair扫码配对接手机kr codesign一键配置 Git 签名kr codesign on/off开启 / 关闭自动 commit 签名kr codesign test跑一次签名自测kr me pgp打印你的 PGP 公钥kr copy pgp复制 PGP 公钥到剪贴板kr restart重启 krd 守护进程kr sshconfig输出 SSH 代理配置krssh 用kr uninstall卸载八、常见问题排查现象原因与解决Could not connect to Krypton daemon守护进程没跑执行kr restart签名请求被拒rejected手机侧点了拒绝检查 Krypton App 通知权限Could not find krgpg未安装完整重新make install或官方脚本终端看不到签名日志shell 配置缺少export GPG_TTY$(tty)重启终端手机上没有 PGP 公钥提示升级 Krypton App 到最新版后重新kr pair --force九、总结kr用手机里的密钥同时解决了两件事SSH 认证 与 Git Commit/Tag 的 PGP 签名只需三步安装 →kr pair→kr codesign之后git commit -S或自动签名即触发手机确认krgpg的设计非常巧妙它完全模拟gpg的 stdio 接口所以 Git 无感知地就换上了手机密钥签名 一句话记住私钥留在手机签名请求走krgpg → krd → 手机一次配置处处安心签名。赞分享【免费下载链接】krDEPRECATED A dev tool for SSH auth Git commit/tag signing using a key stored in Krypton.项目地址https://gitcode.com/gh_mirrors/kr/kr点击查看免费下载相关推荐Git 提交签名实战为 Git 配置 GPG 签名密钥并点亮 GitHub 的 Verified 标识Git 提交签名实战为 Git 配置 GPG 签名密钥并点亮 GitHub 的 Verified 标识 在 GitHub 上我们经常能看到部分提交旁边带有绿文档教程知识库三步永久保存微信聊天记录留痕工具完整指南三步永久保存微信聊天记录留痕工具完整指南 在这个数字记忆时代你是否担心重要的微信对话会随着手机更换或意外删除而永远消失每一段聊天记录不仅是简单的文字交流android-sunflower中的多模块签名配置签名密钥共享android sunflower中的多模块签名配置签名密钥共享 在Android项目开发中多模块架构能有效提升代码复用和团队协作效率但随之而来的签名配置移动开发示例工程创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考