欢迎光临
我们一直在努力

使用GPG加密Github提交

使用GPG加密Github提交
GnuPG(简称GPG),它是当前最流行,最好用的开源加密工具之一

在Github上查看一些项目的Commits时,偶尔会发现“此提交已通过验证的签名进行了签名。”字样,具体来说,就是下图示例那样。

gpg

一,安装Git和TortoiseGit
关于如何在Windows下安装Git和TortoiseGit,请参考《Git初学者:msysgit和tortoisegit》一文。
官方网站:
https ://git-scm.com
https://tortoisegit.org

二,生成密钥
在安装完Git之后,开始菜单项里会有个Git Bash,打开,如下图所示:
吉特·巴什

Git自带了gpg命令,因此可以直接在Git Bash里生成密钥。命令如下:

GPG – 根- 关键
回车,提示信息如下:

gpg (GnuPG )1.4 。21 ; 版权所有(C )2015 自由软件基金会,Inc 。这是免费软件:您可以自由更改和重新分发它。有没有保修,许可范围内的法律。

请选择所需的密钥类型:(1 )RSA和RSA (默认)(2 )DSA和Elgamal (3 )DSA (仅签名)(4 )RSA (仅签名)您的选择?

选择加密算法,替代选择第一个选项即可,表示加密和签名都使用RSA算法。
选1,回车。

选择密钥长度,默认为2048,建议输入4096。

RSA密钥的长度可能在1024 到4096 位之间。什么密钥大小做你想要?(2048 )

输入4096,回车。

设定密钥的有效期。

请指定密钥应有效的时间。0 = 密钥不过期
< n > = 密钥在n天后
过期< n > w = 密钥在n周内
过期< n > m = 密钥在n个月内
过期< n > y = 密钥在n年内
过期密钥有效期为?(0 )

关键只是个人使用的话,建议选择第一个选项,即永不过期。
输入0,回车。

系统会问你上述设置是否正确。

这是正确的吗?(y / N )
输入y,回车。

系统会要求你输入个人信息。

您需要一个用户ID来标识您的密钥;该软件构造用户ID
来自真实姓名,评论和电子邮件地址的格式为:“ Heinrich Heine(Der Dichter)< [email protected] >”

真实姓名:
“实名”填入你的名字,需是英文。回车。

电邮地址:
“ Email address”填入你的邮箱地址。回车。

评论:
“ Comment”可以空着不填。回车。
系统会再次让你确认填入的信息。

您选择了此USER – ID :“ Teddysun < [email protected] >”

更改(N )ame ,(C )记录,(E )邮件或(O )kay /(Q )uit ?
输入O,回车。
系统将会为您设定一个私钥的密码。

您需要一个密码短语来保护您的秘密密钥。输入密码:重复密码:

注意是要保留空不填,直接回车即可。这是因为TortoiseGit不支持1.4.x包含私钥密码。
系统这时开始生成密钥,这时会要求你做一些随机的举动,以生成一个随机数。您拿起鼠标随便晃晃,直到完成密钥生成。

我们需要生成很多随机字节。这是一个好主意来执行
其他一些动作(在键盘上输入,移动鼠标,利用
磁盘)在素数生成期间; 这给出了随机数
产生一个更好的机会获得足够的熵。
最后,提示生成完毕。

gpg :密钥0AD6C46D 标记为最终信任
创建和签名的公钥和秘密密钥。
三,列出密钥
命令如下:

GPG – 列表- 键
输出结果如下:

gpg :检查trustdb
GPG :3 边际(小号)需要,1 完整(小号)需要,PGP的信任模型
gpg :深度:0 有效:1 签名:0 信任:0- ,0q ,0n ,0m ,0f ,1u / c / 用户/ teddysun /。GnuPG的/ pubring 。GPG
————————————
酒馆 4096R / 0AD6C46D 2017 – 02 – 22
UID Teddysun < 我@泰迪森 。COM >
子 4096R / 5BB7BB4E 2017 – 02 – 22
第一行显示公钥文件名(pubring.gpg)
第二行显示公钥文件(4096位,哈希值和生成时间)
第三行显示用户信息
第四行显示私钥特征

四,输出按键
公钥文件(.gnupg / pubring.gpg)以二进制形式存储,盔甲参数可以将其转换为ASCII码显示。

GPG – 护甲- 输出公共- 关键。TXT – 出口[密钥ID ]
[密钥ID]指定用户的公钥,如0AD6C46D,输出参数指定输出文件名,如public-key.txt

同时,export-secret-keys参数可以转换私钥。

GPG – 护甲- 输出专用- 键。TXT – 出口- 秘- 键
public-key.txt和private-key.txt默认会导出至用户目录C:\ Users \ <用户名> \下。

五,上传公钥至Github帐号
点击用户头像,打开设置,
右键单击SSH和GPG密钥,在GPG密钥那里,单击新GPG密钥。在输入框里填入刚刚推出的public-key.txt内容

六,设置
回到Git Bash窗口,根据前述gpg –list-keys显示的结果,此时已经知道密钥ID为0AD6C46D。
设置Git使用该密钥ID加密:

混帐配置- 全球用户。签名密钥0AD6C46D
设置Git全局使用该密钥加密:

混帐配置- 全球承诺。gpgsign是
最后,再输入以下命令查看Git配置情况:

混帐配置- 升
包含以下信息。

用户。signingkey = 0AD6C46D
提交。gpgsign = true
至此之后,使用GPG加密Github Commits就正式完成了。
以后再Git Commit,同步到Github上之后,就会发现该Commit已显示已验证。

参考链接:
https://teddysun.com/333.html https://help.github.com/articles/generating-a-new-gpg-key/ https://help.github.com/articles/adding-a-new -gpg-key-to-your-github-account / https://help.github.com/articles/signing-commits-using-gpg/ http://www.ruanyifeng.com/blog/2013/07/gpg .html

转载请注明:秋水逸冰 » 使用GPG加密Github提交

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址