使用gpg key加解密文件
时间:2014-09-14 02:32 来源:linux.it.net.cn 作者:it
gpg key除了在安装软件包时校验软件包签名,还可以用于加解密文件。这里系统为CentOS6.3。
1、首先创建gpg key
cd ~
gpg --gen-key
然后选择加密算法、加密强度、是否设置有效期,设置名称和邮箱,输入保护密码,最后在/root/.gnupg目录下生成公钥和私钥文件。
具体过程可参考:http://www.live-in.org/archives/1410.html中的创建过程。
创建结果:
要随时显示上列信息,执行:
gpg --fingerprint thomas@example.com
F24AC529是gpg key ID。
A443 76DF 2F35 1874 4F36 3FBA 5161 169D F24A C529是密钥指纹。
2、将公钥上传到密钥对服务器
上传密钥服务器是为了别人能方便的下载到你的公钥。世界上有很多个密钥对服务器,它们会相互同步各自的密钥。比如上传到pgp.mit.edu服务器的公钥在keys.gnupg.net也能获取到。这里上传到默认服务器keys.gnupg.net。
gpg --keyserver keys.gnupg.net --send-keys F24AC529
没有报错就表示成功了。
3、其它机器就可以导入公钥了
gpg --recv-keys 2F39D84D
显示结果:
4、使用获得的公钥加密文件
建立一个文件hello.txt,对hello.txt文件加密:
gpg --encrypt --armor -r F24AC529 hello.txt
加密后会生成加密文件hello.txt.asc。
5、解密文件
随后将加密过的文件发给私钥持有人,使用私钥解密:
gpg -o hello.txt --decrypt hello.txt.asc
输入保护密码,解密成功后就可以看到导出的原文件了。
使用到的参数说明:
--gen-key:生成一副新的密钥对
--fingerprint:显示指纹
--send-keys:把密钥导出到某个公钥服务器上
--recv-keys:从公钥服务器上导入密钥
-a, --armor:输出经ASCII封装
-r, --recipient USER-ID:为收件者“某某”加密
-e, --encrypt:加密数据
-d, --decrypt:解密数据
-o, --output FILE:指定输出文件
参考资料:
http://fedoraproject.org/wiki/GPG密钥
http://blog.microsuncn.com/?p=2156
http://www.blogjava.net/alancxx/articles/348896.html
http://www.alexgao.com/2009/01/24/gpg/
(责任编辑:IT)
gpg key除了在安装软件包时校验软件包签名,还可以用于加解密文件。这里系统为CentOS6.3。
1、首先创建gpg key
创建结果:
要随时显示上列信息,执行:
3、其它机器就可以导入公钥了
4、使用获得的公钥加密文件
5、解密文件
使用到的参数说明:
参考资料: |