美文网首页
git提交代码时使用GPG添加签名

git提交代码时使用GPG添加签名

作者: 赵海洋 | 来源:发表于2018-05-10 14:36 被阅读0次

    今天看github上代码时发现有commit中有Verified的状态。


    image.png

    按照图中的链接点进去了解了一下,相关资料。
    按照方法安装了gpg,也生成了key,并设置给了git,但是提交代码时遇到问题。


    image.png
    上图可见,使用gpg直接查看key时,能查看到。但是使用git提交时失败。

    对比发现,git for windows安装程序下也有个gpg.exe:


    image.png

    而且版本是低版本,只有1.4.22.


    image.png

    在生成key时调用的是后安装的高版本,在这版本里证书的存储位置和格式都发生了变化。新版本的配置文件存储在%appdata%\gnupg里,而git里集成的是较老版本,使用的是User目录中的.gnupg。

    解决方案

    1. 使用gpg -a -o gpg.private.export --export-secret-keys导出私钥
    2. 使用gpg -a -o gpg.public.export导出公钥
    3. 使用git下的gpg --import分别导入公钥和私钥
    4. 使用git下的gpg -K查看key(两边的不一致)
    5. 再使用 git config --global user.signingkey <你的GPG key> 设置到全局参数中

    然后在git命令行中就可以使用它签名了。
    git commit -a -m "test signed" -S
    再使用git log --show-signature -1查看签名信息。

    另外再附加二个选项,可以使提交时默认使用签名:
    git config commit.gpgsign true

    相关文章

      网友评论

          本文标题:git提交代码时使用GPG添加签名

          本文链接:https://www.haomeiwen.com/subject/tpszrftx.html