当前位置: 首页 > 文档资料 > Debian 参考手册 >

第 14 章 - GnuPG

优质
小牛编辑
135浏览
2023-12-01

参考资源:

  • gpg(1).

  • /usr/share/doc/gnupg/README.gz

  • GNU 隐私手册位于 /usr/share/doc/gnupg-doc/GNU_Privacy_Handbook/ (安装 gnupg-doc 软件包)


14.1 安装 GnuPG

     # gpg --gen-key                   # 生成新的密钥
     # gpg --gen-revoke my_user_ID     # 为 my_user_ID 生成吊销密钥
     # host -l pgp.net | grep www|less # 查找 pgp keyservers

配置文件 $HOME/.gnupg/gpg.conf(或是先前的位置 $HOME/.gnupg/options)中一个完好的预设 keyserver 包含:

     keyserver hkp://subkeys.pgp.net

必须注意不能创建 2 个以上的 sub-keys,如果这样做了,pgp.net 上的 keyservers 会废除(corrupt)你的密钥。使用新版的 gnupg(>1.2.1-2)来处理这些废除的 subkeys。参阅 http://fortytwo.ch/gpg/subkeys


14.2 使用 GnuPG

文件处理:

     $ gpg  [options]  command  [args]
     $ gpg {--armor|-a} {--sign|-s} file # 对 file 签名,并保存在文本文件 file.asc 中
     $ gpg --clearsign file              # clear-sign 信息
     $ gpg --clearsign --not-dash-escaped patchfile  # clear-sign patchfile
     $ gpg --verify file                 # 校验 clear-signed file
     $ gpg -o file.sig {-b|--detach-sig} file # create detached signature
     $ gpg --verify file.sig file        # 用 file.sig 校验 file
     $ gpg -o crypt_file {--recipient|-r} name {--encrypt|-e} file 
             # public-key encryption intended for name
     $ gpg -o crypt_file {--symmetric|-c} file # 对称加密
     $ gpg -o file --decrypt crypt_file  # 解密

14.3 管理 GnuPG

密钥管理:

     $ gpg --edit-key user_ID               # “help”获得帮助,交互式
     $ gpg -o file --exports                # 将所有密钥导出到 file 
     $ gpg --imports file                   # 从 file 导出所有密钥
     $ gpg --send-keys user_ID              # 将 user_ID 的密钥发送给 keyserver
     $ gpg --recv-keys user_ID              # 从 keyserver 接收 user_ID 的密钥
     $ gpg --list-keys user_ID              # 列出 user_ID 的密钥
     $ gpg --list-sigs user_ID              # 列出 user_ID 的 sig
     $ gpg --check-sigs user_ID             # 检查 user_ID 的 sig
     $ gpg --fingerprint user_ID            # 检查 user_ID 的指纹
     $ gpg --list-sigs | grep '^sig' | grep '[User id not found]' \
       | awk '{print $2}' | sort -u | xargs gpg --recv-keys # 获取未知的密钥
       # 更新所有未知 sigs.
     $ gpg --refresh-keys                   #更新本地 keyring

Trust 代码:

     -         没指定任何 ownertrust / 还没进行计算。
     e         Trust 计算失败。
     q         没有足够的信息进行计算。
     n         该密钥不可信。
     m         最低限度的可信(Marginally trusted)。
     f         完全可信(Fully trusted)。
     u         绝对可信(Ultimately trusted)。

下面的操作将我的 key “A8061F32” 上载到公共 keyserver hkp://subkeys.pgp.net

     $ gpg --keyserver hkp://subkeys.pgp.net --send-keys A8061F32

14.4 在应用程序中使用 GnuPG


14.4.1 在 Mutt 中使用 GnuPG

如果 GnuPG 程序速度很慢,可以将以下内容加入 ~/.muttrc 以阻止它自动启动,并使其能在 index 菜单下按‘S’手动启动。

     macro index S ":toggle pgp_verify_sig\n"
     set pgp_verify_sig=no

14.4.2 在 Vim 中使用 GnuPG

examples subdirectory 下的 _vimrc 文件的内容加入到 ~/.vimrc 就可以运行 GnuPG了。