Rust项目GPG签名配置指南
一、环境准备
powershell
# 安装Gpg4win(Windows)
winget install -e --id GnuPG.Gpg4win
二、密钥生成与配置
powershell
# 生成RSA4096密钥
gpg --full-generate-key
# 类型选RSA and RSA,长度4096,邮箱填[email protected]
# 查看密钥ID
gpg --list-secret-keys --keyid-format LONG
# 示例输出:sec rsa4096/076FC8A4D6CBBD0D 2025-04-24 [SC]
# 配置Git全局签名
git config --global user.signingkey 076FC8A4D6CBBD0D
git config --global commit.gpgsign true
三、GitHub集成
powershell
# 导出公钥(替换实际ID)
gpg --armor --export 076FC8A4D6CBBD0D | clip
- 登录GitHub网页端
- 访问 https://github.com/settings/keys
- 点击"New GPG key"粘贴公钥
四、项目签名操作
powershell
# 创建签名标签
git tag -s v0.1.0 -m "首个稳定版"
# 强制推送签名标签
git push origin v0.1.0 --force
# 验证签名
git tag -v v0.1.0
五、常见问题解决
1. 密钥导出失败
powershell
# 手动导出到文件
gpg --armor --export 076FC8A4D6CBBD0D > public_key.asc
2. 多账号配置
powershell
# 项目级配置(在项目目录执行)
git config user.name "text"
git config user.email "[email protected]"
3. 路径问题修复
powershell
# 指定绝对路径
git config --global gpg.program "C:\\Program Files (x86)\\GnuPG\\bin\\gpg.exe"
六、Cargo.toml配置参考
rust:Cargo.toml
[package]
name = "ll"
version = "0.1.0"
authors = ["xxxx"]
license = "MIT"
repository = "https://github.com/xxxx/xxx"
[dependencies]
clap = { version = "4.5.37", features = ["derive"] }