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
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,此时不需要输入密码,同时在终端回显解密的内容。