B.3. 產生一副鑰匙對(Keypair)

要開始使用 GnuPG,您必須先產生一副新的鑰匙對:一個公鑰與一個私鑰。

如要產生一副鑰匙對,請在 shell 提示符號下輸入以下指令:

gpg --gen-key

因為您最常使用您的使用者帳號,您應該在登入您的使用者帳號(非 root 帳號)時執行這個動作。

您將會看到一個含有金鑰選項(包括一個建議選項)的簡介畫面,如以下所示:

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,包括您的姓名、電子郵件位址以及一個可選的備註。 在您完成後,您將可以看到您所輸入資訊的摘要。

在接受您輸入的資訊後,您必須要輸入一個密碼(passphrase)。

提示建議
 

如同您的帳號密碼,要提供 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 <you@example.com>
sub  1024g/E12AF9C4 2000-06-18

假如您使用 1.0.6 以下的版本來建立 GnuPG 金鑰,請匯出您的私鑰,再將它匯入到一個新的私鑰,您必須明確的信任(trust)您自己的金鑰以使用 1.0.7 以上的版本來簽署您的訊息。 如要信任您的金鑰,請輸入以下的指令(請使用適當的值取代 <user-id>):

gpg --edit-key <user-id>

Command> 提示符號下輸入 trust,並選擇 5 = I trust ultimately 以信任您自己的金鑰。