配置Git使用GPG

本文介绍了如何使用GPG进行Git提交签名,包括生成密钥对、管理密钥、导出与导入公钥、私钥,以及配置Git使用GPG进行提交签名验证的步骤。GPG的非对称加密特性确保了代码安全,公钥用于加密,私钥用于解密,保证了信息的机密性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

安装Git之后,默认会带Git Bash,通过Git Bash可以直接访问gpg命令

GPG支持多种加密方式,一般在Git上使用GPG是指使用RSA非对称加密。

RSA非对称加密的密钥是一对密钥,分为 公钥 (public key)私钥 (private key) 。公钥用作加密,私钥用作解密。因为加密/解密用的是不同的密钥,因此称为非对称加密。

想要发送加密消息时:
  1. 消息的接收方将公钥发给你
  2. 你使用公钥加密消息
  3. 将加密后消息发出
  4. 对方收到加密后的消息,使用自己手里的与之对应的私钥解密消息
接收消息时:
  1. 把与自己私钥所对应的公钥发给对方
  2. 对方使用你给的公钥对消息加密
  3. 将加密后消息发出
  4. 你收到加密后消息,用自己手里的私钥解密消息
整个过程不存在私钥的交换,只有公钥交换。私钥是解密时使用的,交出私钥等同于交出解密消息方法。

GPG是帮助我们生成这过程中需要用到的“公钥/私钥”密钥对,以及相关管理密钥功能的程序。

生成一对密钥(一个公钥和一个私钥)

gpg --full-generate-key

列出所有密钥对

gpg --list-keys

导出公钥

以ASCII编码方式打印公钥到命令行(方便复制粘贴):
【USERNAME需要替换,USERNAME可以是一长串的ID】

gpg -a --export USERNAME

导出公钥到文件(ascii格式):
(FILEPATH 需要替换 )

gpg -a -o FILEPATH --export USERNAME

导出公钥到文件(二进制):

gpg -o FILEPATH --export USERNAME

导出私钥到文件(二进制):【私钥切勿外传】
(ascii格式添加 -a即可)

gpg -o FILEPATH --export-secret-keys USERNAME

导入密钥

gpg --import FILEPATH

显示常用GPG命令功能

gpg --help

配置Git使用公钥检查提交签名

git config --global user.signingkey GPG-KEY-ID

一个仓库的提交使用GPG签名验证

git config commit.gpgsign true

所有仓库Git提交时使用公钥加密

git config --global commit.gpgsign true
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值