gpg

引言

git本身未设身份验证,gpg充当签名作用
https://spencerwoo.com/blog/wait-this-is-not-my-commit

方式一 可视化

gitee的文档,采用可视化客户端
https://gitee.com/help/articles/4248#article-header0

方式二 命令行

安装scoop

windows平台用scoop安装, scoop是windows平台的一个包管理程序
安装scoop,在powershell 以用户身份执行

set-executionpolicy remotesigned -scope currentuser # 设置Powershell允许执行远程签名的脚本
iex (new-object net.webclient).downloadstring('https://get.scoop.sh')

iex 命令是elixir 的Shell。Elixir是一个基于Erlang虚拟机的函数式、面向并行的通用编程语言。

scoop使用类似于linux的apt

安装gpg

以下命令安装gpg
scoop install gpg

gpg生成

gpg –full-generate-key
在密钥种类处:选择默认 RSA and DSA 即可;
在密钥长度选项处:按照 GitHub 的要求选择 4096 bits;
在密钥过期时间处:按照自己的需要选择,默认为永不过期;
在我们的用户 ID 和 GPG key 签名邮箱处:填写我们的常用用户名,并填入 GitHub 上面认证过的邮箱;
最后,为密钥设置一个安全的密码,并一定记住这一密码。

gpg查看

 gpg --version #查看 GPG 安装情况和版本信息,并记住 GPG 存储根目录:即输出内容中的 Home 目录
 gpg --list-secret-keys --keyid-format LONG #查看所有

gpg导出,并添加到github GPG中

gpg --armor --export 公钥id #导出公钥

配置git使用gpg

git config --global user.signingkey 24CD550268849CA0
git config --global commit.gpgsign true

配置gpg程序的路径

如果有多个gpg,可能需要配置gpg程序的路径,如分别安装了gpg可视化客户端和命令行版
git config --global gpg.program F:/Git/usr/bin/gpg.exe