moss-piglet/mosskeys-cli
GitHub: moss-piglet/mosskeys-cli
mosskeys-cli 是一个 Rust 实现的公钥发布与透明日志检查点本地签名工具,支持零知识和后量子加密。
Stars: 0 | Forks: 0
# mosskeys-cli
[mosskeys](https://mosskeys.com) 的命令行界面和 daemon。
将公钥材料发布到 namespace 的 transparency log 中,并通过 owner 范围内的写入 API **在本地** 签署 checkpoint (BYOK)。它使用 Rust 编写,原生链接了 `metamorphic-log` 和 `metamorphic-crypto` 核心,因此它被打包为单个静态二进制文件,并与 Web (WASM) 和 Elixir (NIF) 端共享同一套经过审计的加密技术栈。
包名为 `mosskeys-cli`;它安装的命令是 `mosskeys`。
## 安装
```
cargo install mosskeys-cli # installs the `mosskeys` binary
```
针对 macOS (arm64/x64)、Linux (x64/arm64,包括 musl) 和 Windows (x64) 的预编译签名二进制文件会附加到每个 [GitHub Release](https://github.com/moss-piglet/mosskeys-cli/releases) 中,每个版本都包含 CycloneDX SBOM、`SHA512SUMS`、cosign 签名和 SLSA 构建来源。请参阅 [RELEASING.md](RELEASING.md) 来验证下载。Homebrew (`brew install mosskeys-cli`) 已在计划中,但尚未发布。
## 布局
```
crates/
mosskeys-core/ # write-API client, config, typed errors, local BYOK signing (reusable SDK crate)
mosskeys-cli/ # the `mosskeys` binary: clap commands, brand theme, output
```
## 命令
| 命令 | 用途 |
|---|---|
| `mosskeys keygen` | **在本地** (BYOK) 生成 `mosskeys/key-history/v1` 密钥集。将私钥部分写入 `0600` 权限的文件(拒绝覆盖),并且仅打印公钥部分。与浏览器和 Mix 参考实现实现了字节级的互操作。 |
| `mosskeys publish` | 追加一个或多个公钥条目(通过 flags、`--file` 或 stdin JSON)。具备幂等性。 |
| `mosskeys sync` | Daemon:监听 JSON 源并持续发布。通过服务端去重实现至少一次交付,并支持 backoff 和重试。 |
| `mosskeys checkpoint` | 两阶段本地 BYOK 签名:获取 head、离线签名、发布(服务端会进行验证并检查 head 是否匹配)。`--watch` 会按固定周期运行此操作。 |
| `mosskeys config …` | 管理凭据和默认设置(`~/.config/mosskeys/config.toml`,`MOSSKEYS_TOKEN` 和 `MOSSKEYS_BASE_URL` 环境变量)。 |
全局 flags:`--json`(用于 agent 和脚本的机器输出)、`--namespace/-n`、`--base-url`、`--config`,以及适用于各命令的 `--dry-run`。稳定的退出代码映射了 API 错误分类(`unauthorized`、`forbidden`、`not_found`、`head_mismatch`、`invalid_request`、`rate_limited`)。颜色显示会遵循 `NO_COLOR`、非 TTY 环境以及 `--json` 的设置。
## 快速开始
```
# 1. 在本地生成您身份的密钥集(密钥永远不会离开本机)。
# 私有部分将保存在 mosskeys--
标签:CVE, Rust, 可视化界面, 后量子密码, 密码学, 手动系统调用, 数字签名, 网络流量审计, 透明日志, 通知系统