欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

配置Git使用GPG

程序员文章站 2022-07-14 12:47:26
...

安装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格式):
(FILEPATH 和 USERNAME需要替换,USERNAME可以是一长串的ID)

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
相关标签: gpg git