参考资料 


http://www.gnupg.org/howtos/zh/GPGMiniHowto-3.html

例子:

1、先产生密钥对
 #gpg --gen-key
 这样会在用户家目录生成一个./gnupg的目录,然后会要求你回答一系列问题,前面三个按默认即可。
 进入到real name,是要求你输入用户ID,注意姓名要5个字符长。这里假设为davidway
 在Email address处,填写上自己的邮箱地址,假设为davidway@yahoo.com.cn
 在comment处,填写一些注释信息
 输入大写字母“O”,回车确认。
 在Enter passphrase处,输入导入私钥用的密码句,这里假设为davidway,密码句是用来保护私钥的,一定要牢记。这里输入时是没有回显的,且要输入两次。2、导出公钥(公钥应公之于众,以便别人使用你的公钥来加密文件)
 命令各式:
 #gpg -o name.gpg -a --export name
 其中name为用户ID
 name.gpg为导出的公钥文件,文件名必须后缀为gpg
 例如:
 #gpg -o davidway.gpg -a --export davidway
 这样就把用户ID为davidway的公钥导出来了。3、导入别人的公钥(以便给别人发送加密文件,公钥用来加密)
 #gpg --import someone.gpg
 上面someone.gpg是别人的公钥4、编辑公钥,以验证导入的公钥的真实性
 #gpg --edit-key someone
 someone是别人的用户ID
 出现命令提示符 >
 >fpr
 查看用户someone的公钥的指纹,之后应设法核对指纹,以证明真实性。如果真实,则可以签署。
 查看someone的指纹,用下面这个命令
 #gpg --list-key>sign
 签署这个公钥,这样以后再使用它加密时,就不会再警告>check
 检查用户someone的公钥已有的签名
 出现sig! 3   sig! 1   表示已完成。输入quit,回车,再输入y保存退出
5、查看公钥
 #gpg --list-key6、用别人的公钥加密文件
 命令格式:
 #gpg -o doc.gpg -er name doc
 其中name是选择谁的公钥加密,即谁是文件的接收者。
 doc为要加密的文件,即原文件
 doc.gpg为命令执行后生成的加密的文件,这里要先指定好文件名
 例如:
 #gpg -o test.gpg -er someone test
 加密test文件后,生成test.gpg加密文件,发送给someone7、解密文件
 命令格式:
 #gpg -o doc.new -d doc.gpg
 其中doc.gpg是别人发给自己的加密过的文件
 doc.new是解密后生成的文件
 d表示解密
 例如:
 #gpg -o test.new -d test.gpg
 解密需导入私钥,这时会提示输入密码句,以导出私钥来解密8、使用对称密钥加密
 #gpg -o doc.gpg -c doc
 这种加密适用于本机文件加密,这时提示输入的密码句和私钥密码句没有联系,但一样不能忘记,因为解密时需要输入同样的密码句。9、数字签名
 命令格式:
 #gpg -o doc.sig -s doc
 其中doc是原文件,doc.sig包含了原文件和签名,是二进制的。这个命令会要求你输入你的私钥的密码句。
 #gpg -o doc.sig -ser name doc
 既签名又加密10、文本签名
 #gpg -o doc.sig --clearsign doc
 这样产生的doc.sig同样包含原文件和签名,其中签名是文本的,而原文件不变。11、分离式签名
 #gpg -o doc.sig -ab doc
 doc.sig仅包括签名,分离式签名的意思是原文件和签名是分开的。
 b 表示分离式签名detach-sign12、验证签名
 #gpg --verify doc.sig  [doc]
 验证之前必须导入文件作者的公钥,对于分离式签名,最后还要加上原文件,即后面的doc。13、可以显示所有现有的钥匙。 要想同时显示签名,用
gpg --list-sigs
 
 14、要想见到钥匙的指纹,敲入: 
 
gpg --fingerprint 
用户需要见到”指纹”来确认某人的确是其自称是的人(就象在电话中一样)。 这个命令将会产生一列相对较小的数字。 
 
15、要删除一把公钥,你可以敲
 
 
gpg --delete-key UID 
 
 要删除一把密钥,你可以敲 
 
gpg --delete-secret-key
 
 
16、 
  因为好些原因,你可以想要取消一把已经存在的钥匙,例如:密钥被盗了或被不该得到它的人得到,用户身份识别改变了,钥匙不够长了,等等。对上述各种情况,取消钥匙的命令是:
 
 
gpg --gen-revoke

 

该命令将产生一份取消钥匙证书。 要这么做,一定要先有密钥! 否则任何人都能取消你的钥匙。 这种方法有一个缺点: 如果我不知道通行句就用不了密钥。但用不了密钥,我就不能取消我的钥匙。 为解决这个问题,在你产生钥匙对的时候就产生一份取消钥匙证书是一种明智的做法。 如果你这样做的话,一定要把证书保存好! 你可以把它放在磁盘上,纸张上,等等。 一定要保证证书不落入坏人之手!!! 否则别人就可以发出该证书取消你的钥匙,使你的钥匙作废。