Chinaunix首页 | 论坛 | 博客
  • 博客访问: 382126
  • 博文数量: 58
  • 博客积分: 2941
  • 博客等级: 少校
  • 技术积分: 970
  • 用 户 组: 普通用户
  • 注册时间: 2005-12-21 11:37
文章分类

全部博文(58)

文章存档

2015年(1)

2014年(1)

2012年(1)

2011年(19)

2009年(1)

2008年(1)

2007年(11)

2006年(10)

2005年(13)

分类: LINUX

2009-11-03 17:07:53

GPG加密与签名

1、先产生密钥对
#gpg --gen-key
这样会在用户家目录生成一个./gnupg的目录,然后会要求你回答一系列问题,前面三个按默认即可。
进入到real name,是要求你输入用户ID,注意姓名要5个字符长。这里假设为davidway
Email address处,填写上自己的邮箱地址,假设为

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
这样就把用户IDdavidway的公钥导出来了。

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-key

6、用别人的公钥加密文件
命令格式:
#gpg -o doc.gpg -er name doc
其中name是选择谁的公钥加密,即谁是文件的接收者。
doc
为要加密的文件,即原文件
doc.gpg
为命令执行后生成的加密的文件,这里要先指定好文件名
例如:
#gpg -o test.gpg -er someone test
加密test文件后,生成test.gpg加密文件,发送给someone

7、解密文件
命令格式:
#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-sign

12、验证签名
#gpg --verify doc.sig  [doc]
验证之前必须导入文件作者的公钥,对于分离式签名,最后还要加上原文件,即后面的doc

 

 

阅读(979) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~