在Github Desktop中使用Yubikey来签署Commits
使用Yubikey来签署Git Commits
既然准备就绪 那我们就开始吧。一共有两种方法去生成GPG Key。 其一本机生成 GPG KEY,然后将数据导入到 YubiKey。其二直接在 YubiKey 上生成密钥。我将介绍后者的步骤。
需要的工具:gpg4win
安装完毕gpg4win后打开Kleopatra
修改Yubikey的Admin PIN与PIN
Yubikey中pin的默认密码为123456 Admin Pin为12345678
:exclamation:多次密码错误会导致锁定
插入Yubikey随后选择SmartCards
选择下方的Change PIN
与Change Admin PIN
进行PIN修改
生成gpg密钥并导入到Yubikey
选择选项Generate New Keys
(如果原yubikey中有数据,将会清空原有内容并替换为新的密钥
填入签发人与邮箱
需要多次输入Admin PIN与PIN 注意观察 别输错了
最后一步,输入Key的密码短语
生成完毕可以在Certificates
处看到我们的证书,点击Export
对公钥进行导出
将密钥使用记事本打开,并放入Github中的GPG Keys
中
Git的配置
如果您之前已将 Git 配置为在使用 --gpg-sign
进行签名时使用不同的密钥格式,请取消设置此配置,以便使用 openpgp
的默认格式。
1 |
|
使用 gpg --list-secret-keys --keyid-format=long
命令列出您拥有公钥和私钥的 GPG 密钥的长格式。
1 |
|
从 GPG 密钥列表中,复制您要使用的 GPG 密钥 ID 的完整形式。在此示例中,GPG 密钥 ID 为 3AA5C34371567BD2
1 |
|
要在 Git 中设置主 GPG 签名密钥,请粘贴下面的文本,并替换为您要使用的 GPG 主密钥 ID。在此示例中,GPG 密钥 ID 为 3AA5C34371567BD2
1 |
|
大功告成
随后对commit即可对新的提交进行签名 同时在提交历史也可以看到本次是验证过的)