B.3. 生成钥匙对

要开始使用 GnuPG,你必须首先生成一组新的钥匙对:一把公钥和一把密钥。

要生成钥匙对,在 shell 提示下,键入以下命令:

gpg --gen-key

因为你使用最频繁的是你的用户帐号,你应该登录到你的用户帐号(而不是根帐号)时执行该命令。

你会看到一个介绍屏幕,其中有钥匙选项,包括一个 推荐的选项(默认),该屏幕类似:

gpg (GnuPG) 1.2.1; Copyright (C) 2002 Free Software Foundation, Inc.
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. See the file COPYING for details.

Please select what kind of key you want:
   (1) DSA and ElGamal (default)
   (2) DSA (sign only)
   (5) RSA (sign only)
Your selection?

多数要求你选择选项的屏幕会在括号内列出默认选项。你可以按 [Enter] 键来接受默认选项。

在第一个屏幕上,你应该接受默认选项:(1) DSA and ElGamal。该选项会允许你生成数码签名,并用两种技术来加密(和解密)。键入 1 然后按 [Enter] 键。

下一步,选择钥匙大小或长短。通常,钥匙越长,你的消息抵御攻击的能力就越强。默认的 1024 位对多数用户来说已足够强劲,因此按 [Enter] 键来接受默认。

下一个选项请你指定钥匙的有效期,通常,使用默认值(0 = key does not expire)就可以。如果你想设立一个 过期日期,请记住,你需要通知和你互换公钥的人员 这个过期日期并向他们提供一把新公钥。如果你不设立过期日期,你会被要求确认这个决定。按 [y] 来确认你的决定。

你的下一个任务是提供用户 ID,这包括你的姓名、电子邮件地址,以及其它可选注解。当你结束后,你的面前就会出现你输入的信息的摘要。

一旦你接受了你的选择,你还必须输入一个口令句。

窍门窍门
 

和你的帐号口令一样,好的词组口令是 GnuPG 安全保障的基本条件。譬如,你可以在口令中混和大小写字母、数字或标点符号。

输入并校验口令句之后,你的钥匙就生成了。你会 看到一条和以下相仿的消息:

We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
+++++.+++++.++++++++....++++++++++..+++++.+++++.+++++++.+++++++
+++.++++++++++++++++++++++++++++++++++++++..........................++++

当屏幕活动停止后,你的新钥匙就制作成功并被放置在你的主目录下的 .gnupg 目录中。要列举你的钥匙,使用下面的命令:

gpg --list-keys

你会看到和以下相似的输出:

/home/username/.gnupg/pubring.gpg
-----------------------------------------
pub  1024D/B7085C8A 2000-06-18 Your Name <[email protected]>
sub  1024g/E12AF9C4 2000-06-18

如果你使用低于 1.0.6 的版本来生成 GnuPG 钥匙,把你的密钥导出后又导入一个新钥匙,你必须具体信任你自己的密钥来给使用高于 1.0.7 版本的项目签名。要信任你的钥匙,键入以下的命令(请替换 <user-id>):

gpg --edit-key <user-id>

Command> 提示后键入 trust,然后选择 5 = I trust ultimately 来信任你自己的密钥。