跳转至

使用 GPG 对提交签名

原理

GPG 是 GNU Privacy Guard 的缩写,是一个开源的加密工具,可以用来加密和签名文件。Git 也可以使用 GPG 来对提交进行签名,以验证提交的真实性。其签名算法是著名的 非对称加密算法 RSA。

下载

macOS 用户前往 https://gpgtools.org/

安装

装就行了

配置

生成密钥

gpg --full-generate-key

查看密钥

gpg --list-secret-keys --keyid-format LONG

导出公钥

gpg --armor --export 你的密钥ID

导出私钥

gpg --armor --export <邮箱或者指纹字符串或者长密钥 ID> //查看完整的公钥
gpg --armor --export-secret-keys <邮箱或者指纹字符串或者长密钥 ID> //查看完整的私钥

导入公钥

gpg --import 公钥文件

导入私钥

gpg --allow-secret-key-import --import 私钥文件

配置 Git

git config --global gpg.program gpg
git config --global user.signingkey 你的密钥ID
git config --global commit.gpgsign true

GitHub 上配置 GPG

打开 Settings,找到 GPG keys,点击 New GPG key,将公钥粘贴进去,点击 Add GPG key。

验证

git commit -S -m "test"
git push

参考