使用如下命令进行密钥对的生成:
gpg --gen-key
此命令执行后按照提示进行密钥对的创建即可。
在本地生成后,需要导出密钥(注意:一定要备份好自己的密钥,尤其是私钥),使用如下方法即可导出:
导出公钥:
gpg -o keyfilename --export KeyID
如果没有KeyID则是备份所有的公钥,-o表示输出到文件keyfilename中,如果加上-a的参数则输出文本格式的信息,否则输出的是二进制格式信息。
导出私钥:
gpg -o keyfilename --export-secret-keys KeyID
如果没有KeyID则是备份所有的私钥,-o表示输出到文件keyfilename中,如果加上-a的参数则输出文本格式的信息,否则输出的是二进制格式信息。
导入密钥:
gpg --import filename
加密:公钥加密,私钥解密[数据保密性]
数字签名:私钥加密,公钥解密[身份认证][数据完整性][不可抵赖性]
生成密钥:
$ gpg --gen-key
--homedir 指定密钥存放的位置
查看密钥:
--list-keys
--fingerprint
--list-public-keys
--list-secret-keys
修改密钥:
$ gpg --edit-key 标识名
导出公钥:
$ gpg --export 标识名 > 生成文件名 ::导出为二进制形式
$ gpg --export --armor 标识名 > 生成文件名 ::导出为ASCII字符形式
导出私钥:
$ gpg --export-secret-key 标识名 > 生成文件名 ::导出为二进制形式
$ gpg --export-secret-key --armor 标识名 > 生成文件名 ::导出为ASCII字符形式
导入密钥:
$ gpg --import 密钥文件
加密:
$ gpg --encrypt --recipient 标识名 欲加密文件 ::生成gpg后缀的二进制加密文件
$ gpg --encrypt --armor --recipient 标识名 欲加密文件 ::生成asc后缀的ASCII加密文件
解密:
$ gpg --decrypt 已加密文件名 > 生成文件名
签名:
$ gpg --local-user 标识名 --sign 欲签名文件 ::生成gpg后缀的二进制签名文件
$ gpg --local-user 标识名 --sign --armor 欲签名文件 ::生成asc后缀的ASCII签名文件
验证:
$ gpg --verify 签名文件 ::只验证
$ gpg --decrypt 签名文件 > 生成文件名 ::验证并还原信息
此外还有以下两种签名方式:
一种主要用于文本,签名时将签名信息附在文本内容的后面,验证时只要把该文件做参数就行了。
$ gpg --clearsign 欲签名文件
另一种是生成单独的签名文件。
$ gpg --detach-sign 欲签名文件 ::生成sig后缀的二进制签名文件
$ gpg --detach-sign --armor 欲签名文件 ::生成asc后缀的ASCII签名文件
http://blog.sina.com.cn/s/blog_44abafb201008y95.html
Ref:
http://fedoraproject.org/wiki/Creating_GPG_Keys/zh-cn