Ubuntu生成GPG密钥及基本使用

本文详细记录了在Ubuntu上生成GPG密钥并进行基本操作的过程,包括安装gnupg、生成密钥、查看密钥、导出公钥、解密和加密文件。在实际使用中遇到Windows与Linux之间导入密钥的不兼容问题,但通过Linux重新生成密钥解决了问题。

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

写在前面

由于此前某项目需要通过GPG密钥在线传递加密信息,现将以默认的方式生成一个GPG密钥并导出公钥的过程记录如下,仅可实现与他人传递加密信息并将其解密的最基本功能。如有更多对GPG密钥的需求,请移步文末参考链接补充学习。

另外,传递中遇到过一个很奇怪的问题,我的Windows电脑在安装了Kleopatra的基础上生成的GPG密钥,无法在对方的Linux机上导入,最后还是我用了另一台Linux机重新生成了一个GPG密钥才成功的。但是我自己的Linux机和Windows机就可以相互导入成功,我没想明白这是为啥。


本文主要包含以下几个要点:

  1. 安装
  2. GPG密钥生成
  3. 查看已有密钥
  4. 导出公钥
  5. 解密文件
  6. 加密文件

安装

Ubuntu安装gnupg:

sudo apt install gnupg

GPG密钥生成

gpg --gen-key

因为是默认的生成方式,所以仅需要输入名字和电子邮箱即可,注释可以空着。

查看已有密钥

gpg --list-keys

或者简写: gpg -k

导出公钥

gpg --armor --out public-key.pub --export <key-name>

public-key.pub 即为导出的公钥文件,也可取其他名字,后缀也无所谓。在当前目录下找到该文件,就可以通过网络或其他途径发给别人,然后他们就可以用这个公钥文件给需要传递的文件加密了。
<key-name> 是生成密钥时设置的用户名。

解密文件

gpg --output <FileDecrypted> --decrypt <FileToDecrypt>

<FileDecrypted> 为解密后得到的文件全称, <FileToDecrypt> 是待解密的文件,即别人发给你的加密后的文件全称。解密后得到的文件就在当前目录下。至此,作为一个加密文件接收方即可完成GPG的基础使用。

加密文件

%%%说明:如果是对方需要你的公钥来为文件加密,那么你不需要进行这一步骤,这一步骤是由对方完成的。

先查看当前已有的所有密钥,以便和导入后结果对比:

gpg -k

使用对方密钥加密前,需要先导入加密文件接收方的GPG公钥,其中 <pubkey-name> 为对方的公钥文件全称:

gpg --import <pubkey-name>

然后查看当前已有密钥,和前面的状态比对,确认对方密钥已导入:

gpg -k

再对文件进行加密,其中 <recipient-name> 是加密后文件的接收方公钥的用户名:

gpg --recipient <recipient-name> --output xx.en.xxx --encrypt origin.xxx


参考链接

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值