http://www.ruanyifeng.com/blog/2013/07/gpg.html

gpg --list-keys
gpg --armor --output pubkey.asc --export [用户ID]
导出私钥形式如下:
gpg --armor --output prikey.asc --export-secret-keys
gpg --import [密钥文件]
2.5 加密文件形式如下:

gpg --reipient [用户ID] --output demo.txt.gpg --encrypt demo.txt

demo.txt的内容会先用随机产生的对称加密密钥进行加密。指定接收文件的用户ID,实际上是用他的公钥加密 对称加密密钥。

2.6 解密文件形式如下:

gpg --output demo.txt --decrypt demo.txt.gpg

--decrypt参数要放在后面,顺序反过来会报错:

$ gpg --decrypt 1.php.asc --output 10.php
usage: gpg [options] --decrypt [filename]

解密文件,是使用自己的私钥把 加密后的对称加密密钥解开,然后用对称加密密钥解密加密的内容。
————————————————

2.7.1 生成二进制格式的验签
gpg --sign demo.txt

2.7.2 生成ASCII格式的验签
gpg --clearsign demo.txt

2.7.3 单独生成签名文件
gpg --detach-sign demo.txt

生成ASCII格式的单独签名文件
gpg --armor --detach-sign demo.txt

2.8 验签
gpg --verify demo.txt.asc demo.txt

加密和签名
gpg --local-user [发信者ID] --recipient [接收者ID] --armor --sign --encrypt demo.txt

对该文件解密:

$ gpg --output 10.php --decrypt 1.php.asc