GnuPG使用笔记(二)

接下来是使用GnuPG生成属于自己的密钥对、对文件加解密数字签名

PS:回想起来,其实当初大学的上机课时,老师是教过怎么使用PGP(商业软件)对E-Mail进行加密和数字签名的,不过那时候似懂非懂。


一、生成密钥对

GnuPG Shell可以方便生成密钥对。打开GnuPG Shell 「Keys」「Generate New…」

(高级设置)可以设置加密方式、密钥长度、密钥有效期。通常不用修改。

(下一步)设置私钥密码(passphrase)

  • 每次使用私钥进行加密解密签名操作都要输入此密码
  • 一旦私钥丢失,私钥密码就成了最后一道防线,因此密码要有一定的长度和复杂度

填好以上信息后,GnuPG Shell将生成密钥对,生成时间大约几十秒到几分钟不等,与密钥长度和电脑配置有关。

生成密钥对后,会在GnuPG Shell中看到新密钥的公钥Key ID,这个Key ID就是唯一标识这个公钥的字符


二、导入/导出密钥

  1. 公钥导入/导出、私钥导入都可以在GnuPG Shell中操作,很简单。
  2. 由于GnuPG Shell不支持对私钥导出,所以需要在命令行中操作。

命令为:「gpg.exe -o keyfilename –export-secret-keys mykeyID -a

-o表示导出私钥到名为“keyfilename”的文件中,没有mykeyID则导出所有私钥,-a表示以文本格式(ASCII)输出。


三、加密/解密和数字签名

注意:

  1. 对文件进行签名是使用自己的私钥。
  2. 对文件进行加密有2种情况:如果加密文件只是给自己查看那么使用自己的公钥加密。如果用户A想给用户B发送一个加密文件“test.txt”,那么用户A要使用用户B的公钥对”test.txt”进行加密,这个加密后的“test.txt”只能用用户B自己的私钥才能解密查看


  • 对文件加密/签名

右击需要加密/签名的文件(例:test.txt)→「GPGee」「Sign & Encrypt」

如果只签名(Sign)则把加密(Encrypt)取消(none),反之同理。

签名选项(Detached)表示生成单独一个签名文件“test.txt.asc”,(Attached)表示生成一个文件里面包含签名和原始文件。

加密选项(Public-key)表示用公钥加密文件,(Symmetric)对称加密,用密码就能解密,类似于WinRAR、WinZIP的加密压缩。

(Text output)文本输出通常选上。


  • 对文件解密、验证签名

解密文件:只需一步,右击已加密的文件「GPGee」「Verify/Decrypt」

验证签名:详细见《GnuPG使用笔记(一)》


最后附上我的公钥

Key ID:0x6BD8D10A

指纹采样(fingerprint):E5934CC81170F34BE969BACF67E552116BD8D10A

Leave a Reply

Your email address will not be published. Required fields are marked *