文章目录
  1. 1. 加密的简单原理
  2. 2. MAC 编译安装GnuPG
    1. 2.1. 使用命令行管理key

PGP (Pretty Good Privacy) 是由 Phil Zimmermann 于 1991 开发的一个用于数据加密和数字签名的程序,由于被广泛应用,以至于后来形成一个开放的标准 OpenPGP,这个标准也是目前最为常用的邮件加密和签名的方式。而 GnuPG 则是实现了该标准的一个开源免费程序,简单记录下在 mac 下使用GnuPG 管理钥匙、加密文件的使用。

加密的简单原理

怎么着,也得知道一下原理吧。
在使用前用户需要使用png生成全球唯一的密钥对,包括:公钥(public key)及私钥(private/secret key)。公钥用来加密,私钥用来解密。我们可以使用另人的公钥来加密文件,然后发送给对方,对方利用公钥对应的私钥来解密文件即可。简单点就是这样。

MAC 编译安装GnuPG

1
2
3
4
5
6
curl -O ftp://ftp.gnupg.org/gcrypt/gnupg/gnupg-1.4.18.tar.gz
tar -xzf gnupg-1.4.18.tar.gz
cd gnupg-1.4.18
./configure
make
sudo make install

使用命令行管理key

参考:Working-with-pgp-and-mac

  1. 生成自己的key
1
2
3
4
5
6
7
$ gpg --gen-key
# a. 让你选择加密方式,一般选择的默认,RSA
# b. 回车后提示选择密钥长度,一般选择默认 2048
# c. 选择密钥的使用年限,默认永久,10y 就是10years 
# d. 确认后会填写个人信息
# e. name + email + Comment 
# f. 再选择o保存退出,即可生成
  1. 查看本地的公钥
    $ gpg --list-keys

  2. 查看本地的私钥
    $ gpg --list-secret-keys

  3. 导出公钥(需要对方使用你的公钥加密文件时,导入提供给对方)
    $ gpg -a --output key.public --export UID
    UID可以是名字或email地址。

  4. 导入别人的公钥
    $ gpg --import publickey.asc
    $ gpg --fingerprint A7327C0E
    $ gpg --sign-key A7327C0E
    导入时会有一个gpg: key A7327C0E ,key后面的值可以通过$ gpg --fingerprint A7327C0E查看。再使用$ gpg --sign-key A7327C0E授权签名即可。

  5. 使用公钥加密文件
    gpg -a --output encrypt_file.gpg -r UID -e file.txt
    UID可以是名字或email地址
    或者使用$ gpg -ao cipher.asc -esr name@domain.com file.txt

  6. 使用私钥解密文件
    $ gpg -o decrypted_plain.txt -d cipher.asc
    需要注意的事,这里的私钥需要与公钥配对才能解开此文件。

最后,差不多就这样子了,话说,那个英文文档真的很赞。

安装参考:Howto Build GnuPG on OS X
参考:GnuPG的初步使用教程

文章目录
  1. 1. 加密的简单原理
  2. 2. MAC 编译安装GnuPG
    1. 2.1. 使用命令行管理key