这里,使用-o指定输出文件,使用--decrypt指定待解密文件。我们可以看出,解密的时候,我们需要输入密码,才能解密成功,而密码就是之前我们创建钥匙对时候输入的那个密码。注意,这里因为生成密钥,加密,解密都在一个机器上进行,所以可以成功解密,如果把加密之后的文件拿到别的机器上面,就无法解密了,如果想要在其它机器上面解密,我们需要把本地私钥导出,发送给待解密的机器,然后在解密的机器上把刚刚导出的私钥导入,就行了.后面会说到如何解密。如果想要别人和你使用这个加密的方法通信,需要把你的公钥导出,发给别人,然后他们把这个公钥导入,在使用前面加密的方法用这个公钥加密数据并且发送给你,你再用你自己的私钥解密,得到解密后的原始数据,这也是公钥加密通信使用的常用方法。后面会详细讲述如何导出本地的公钥和私钥,以及如何在其它机器上面导入之前导出的密钥。
2)查看解密生成的文件
[root@lv-k gpg_test]# ls
mydecrypt mygpgtest mygpgtest.asc
[root@lv-k gpg_test]# cat mydecrypt
hello!
welcome come to here
today is 2011-06-14
[root@lv-k gpg_test]#
*导出(备份)公钥:
[root@lv-k gpg_test]# gpg -o mypubkey --export DDBA2DEA
这里使用格式“ gpg -o keyfilename --export KeyID”,使用-o指定生成的导出文件名称,使用--export指定想要导出的密钥ID, 如果没有KeyID则是备份所有的公钥,如果加上-a的参数则输出文本格式的信息,否则输出的是二进制格式信息。导出的公钥,可以发布,其它人只要导入你发布的公钥,就能用这个公钥加密数据并且发送给你,你再用你自己的私钥解密,得到解密后的原始数据,这也是公钥加密通信使用的常用方法。
*以文本方式导出公钥:
[root@lv-k gpg_test]# gpg -a -o mypubkeyascii --export DDBA2DEA
导出的文件mypubkeyascii可以查看其内容,这里内容如下:
mypubkeyascii
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.5 (GNU/Linux)
mQGiBE320yYRBACUvTPS5Jxv2xamVudHL//PBhJESyUzHQcGtb/CPzyAkOaNVQ7U
V0DEjd+m61SAv7wwWItn9D3fOjZ09EdGY/9mHeVEOGLPdB7Seo28UyRtr6vHCrrl
1qHBS6I6jQ/iATDg+07O9hgDp5eCebI4aNyRGeRARx0t5vKguIF+FEzmIwCghWM8
toTSnP/bC1VePRXEZ9Uw+OkD/0cYIH2AZIKdbtjQ9J6F7AtgiPqRnjiTL7mOj6Xa
ncjThX9XGH5DUMoqR6Gaq9/eDtlefMwHCweiqdm1TNnvU/b7qDpw1TjxVLkHHVZk
8F4f8LsSkJNuLiqOwXwOJkuevQZ+Y3quFl3nsOtURSx5nuKkekp4toOWSe3fEFWd
BQN5A/9Cxj55KWXzzYD8v+z0xiC3HvIWgUp0GTfcjSOfdhs9xtKe33LuGy7hoEt0
TfQpTnz8Il1cbHHYvtmAaaGrwBnBxoYrLrH5WrHx1n34ZdOszYK5p/yKW+g+0eLt
dv/f4uXEhfPInOk21X5PRGFcyNo3fMVGIHo1S8oiEX4fuEvwWrQqcXVpZXRoZWFy
dCAodGVzdCkgPHF1aWV0X2hlYXJ0MDAwQDEyNi5jb20+iGAEExECACAFAk320yYC
GwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAKCRDbssCl3bot6o2bAJ918FqgoPMs
4eIQOWBDVs5sS9hSbgCfTbOggNKPJtCPJq4zr/jaPctE7Qi5Ag0ETfbTLBAIAKUn
cibGAlBwN5nW2NCN52oXWAsIXTDnUP7FmKi8K6B2PO7Bex2e95f44iOyBtLo73KF
vH64Wbl7wGQ0IOnn/AQbivoa9oaBi4+2mf9PbGMvo2Nrii8xcvBfvrh8Q7XsRoOH
obKv3inOGvxb0fkdUn1WkyYGtWCIl5aK8b1jUACuB6Sbdxtkeg3DrQp3BZjxgkVa
etgPnj70AtJfTFnn5WSIkBGJq2pbs7E9wNQC7NvIe62DHJj1nsPJg/d9ZdFWnQiW
HO6ik3bjRBLR4Iy82cjVOI2JmiaKVlPktphZ9id5F/a3BlcaOF5wSovE4ssHdZGN
cvk4QPLr0X9G43ZBTmcAAwUH/07bUjqWu61uIq5XryRK99pTNLlwd1AdsB/HTgFp
UJxSZ7MRbtozvdBPVKFehAzZ13YSjiES0f1L3oGBsEeEhCPyHY+N80R+zuLMeZTx
6kFNLlm/PEFNrnFpqGPEJZ/1HRyt+hTsfFCFM4nYzhul7s10XKGiHHN1wUMc/ixt
+tmk/dD6IA/QnhI1WUMzF2XgJ3Ql4ZmLCSNV7CXPEt044J8ZnuTT+HwO4AX7bfSt
PTpyi7LMD/BVfOikczvf38Bz/IUnXi8x1pjBglZBE7jvkqc+nqe7BYQ/ga27c374
zQDIAmAXcZ0TR35T+ZiyavQHKiRSuAG0q3T2oO74yvb8AgmISQQYEQIACQUCTfbT
LAIbDAAKCRDbssCl3bot6uJ8AJ4h8ShsY6DLjmJjitl+8iHnh5tZQACeOqHsQXjr
dei6gV8vMB87xwbWe5E=
=ynen
-----END PGP PUBLIC KEY BLOCK-----
一般,许多地方网上通过这个文本方式发布公钥。
*导出(备份)私钥:
[root@lv-k gpg_test]# gpg -o mysubkey --export-secret-keys 2BBE2C91
如果没KeyID则是备份所有的私钥,-o表示输出到文件mysubkey中,如果加上-a的参数则输出文本格式的信息,否则输出的是二进制格式信息。
*导入私钥:
gpg --import mysubkey
输入之后,输出如下:
#####################以下为输出##############################
gpg: 密钥 DDBA2DEA:私钥已导入
gpg: /home/lv-k/.gnupg/trustdb.gpg:建立了信任度数据库
gpg: 密钥 DDBA2DEA:公钥“linuxidc (test) <quiet_heart000@linuxidc.com>”已导入
gpg: 合计被处理的数量:1
gpg: 已导入:1
gpg: 读取的私钥:1
gpg: 导入的私钥:1
#####################以上为输出##############################