gpg使用

 1)、

查看本地的公钥和私钥,

查看公钥:gpg --list-keys

查看私钥:gpg --list-secret-keys


2)、gpg查询并导入公钥

首先导入前需要查询一下,因为可能查询到很多结果,需要找到自己需要导入的那个

gpg --keyserver keyserver.ubuntu.com --search-keys  program

结果为:

gpg: data source: http://162.213.33.8:11371

(1) Kevin Mazzone/MAXIMUS (MAXIMUS CA HCO Program, Director of Information

  1024 bit DSA key 7A3273AF965F1000, created: 2008-09-26

(2) QB-SYSTEMS (QB-SYSTEMS Thoughtful Programming and Development) <it-die

  2048 bit RSA key C481B2C55E662700, created: 2011-04-24

(3) program.think@gmail.com <2730805087@qq.com>

  3072 bit RSA key 127BCBF252102B40, created: 2019-01-30

...

...

我们使用program.think的,可以获得publickey_id=127BCBF252102B40

然后将公钥导入本地机器:gpg --keyserver keyserver.ubuntu.com --recv-keys 127BCBF252102B40

结果为:

gpg: key 127BCBF252102B40: public key "program.think@gmail.com <2730805087@qq.com>" imported

gpg: Total number processed: 1

gpg:               imported: 1


再看下导入的结果:gpg --list-keys
显示结果为:

pub   rsa3072 2019-01-30 [SC]

      4ADFAA7DCF078ED4E2DEF13E127BCBF252102B40

uid           [ unknown] program.think@gmail.com <2730805087@qq.com>

sub   rsa3072 2019-01-30 [E]


3)、导入我们自己的私钥

这个应该在创建公钥私钥的时候保存过的,公钥可以保存一份文件,然后也可以再上传到一份到公钥服务器上,如:http://keys.gnupg.net/ , https://pgp.mit.edu/ , https://keyserver.ubuntu.com/;私钥一定要自己留一份文件

导入私钥:gpg --import your_private_key_file,导入时需要输入创建时的密码

查看导入的私钥:gpg --list-secret-keys


4)、用某个公钥加密文件并发送给接收人,接收人用自己的私钥解密文件,

解密文件:gpg --decrypt sec.txt,

首次解密时需要输入创建私钥时的密码,

再次解密时可以直接执行 gpg sec.txt,此时需要输入一个新的文件名,用于保存解密后的文件内容。

也可以执行gpg --decrypt sec.txt,此时不需要输入密码,同时在终端回显解密的内容。