Red Hat Training

A Red Hat training course is available for Red Hat Satellite

3.2. RHN 套件的數位簽章

所有透過 RHN 發佈的套件都應該擁有 數位簽章。數位簽章是以獨一無二的私有金鑰所建立,可以透過相關的公開金鑰來驗證。在建立套件之後,SRPM(原始碼 RPM)與 RPM 可以用 GnuPG 金鑰來簽署。在套件安裝之前,公開金鑰會用來驗證套件,這套件是由受信任方所簽署,同時在簽署之後,這套件沒有被修改過。

3.2.1. 產生 GnuPG 金鑰配對

GnuPG 金鑰配對包含了私密與公用金鑰。若要產生金鑰配對:
  1. 以 root 使用者身份在 shell 提示列上輸入下列指令:
    gpg --gen-key
    如果您以非 root 身份執行這個指令,您會看到以下訊息:
    gpg: Warning: using insecure memory!
    
    這訊息會出現是因為非 root 使用者不能鎖定記憶體分頁。因為您不希望任何人擁有您的私有 GnuGP 金鑰或密碼字串,請以 root 身份產生金鑰配對。root 使用者可以鎖定記憶體分頁,這表示這訊息永遠不會寫入磁碟中。
  2. 在執行這指令,產生金鑰配對後,您會看到一個簡介畫面,包含金鑰的選項,類似以下:
    	gpg (GnuPG) 1.2.6; Copyright (C) 2004 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) (4) RSA (sign only)
    	Your selection?
    
  3. 請接受預設選項:(1) DSA and ElGama1。這選項能讓您建立數位簽章,並以兩種技術進行加密 / 解密。請輸入 1,然後按下 Enter
  4. 接下來,請選擇金鑰的大小,也就是金鑰的長度。金鑰愈長,您的訊息就愈能抵抗攻擊。建議您建立長於 1024 位元的金鑰。
  5. 接下來的選項會請您指定金鑰的期限。如果您選擇的一個過期日,請記得通知使用您公開金鑰的人這個過期日,並給予新的金鑰。建議您不要選擇過時日。如果您不選擇過期日,系統會跟您確認這一點:
    Key does not expire at all Is this correct (y/n)?
    
  6. 請按下 y 確認您的決定。
  7. 您接下來的工作是提供一組使用者 ID,包含您的姓名、電子郵件位址、以及選用的註解。每一項東西都要求您分開輸入。當您完成後,您會看到您輸入訊息的摘要。
  8. 一旦您接受這些選擇後,請輸入一組密碼字串。

    注意

    跟您帳號的密碼一樣,好的密碼字串是 GnuPG 最基本的安全防護。請用大小寫字母、數字、以及 / 或標點符號,來組成您的密碼字串。
  9. 在您輸入、驗證了密碼字串後,您的金鑰就會產生。如以下的訊息會出現:
    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. 
    
    +++++.+++++.++++++++....++++++++++..+++++.+++++.+++++++.+++++++ +++.
    ++++++++++++++++++++++++++++++++++++++..........................++++
    
    當畫面上的動作終止時,您新的金鑰便會被放置在 root 家目錄中的 .gnupg 目錄裡。此乃 root 使用者所產生之金鑰的預設位置。
若要列出 root 金鑰,請使用下列指令:
gpg --list-keys
您會看到類似以下的畫面:
/root/.gnupg/pubring.gpg ----------------  pub 1024D/B7085C8A 2002-02-18
 Your Name<you@example.com> 
sub 1024g/E12AF9C4 2002-02-18
要讀取您的公開金鑰,請使用以下指令:
gpg --export -a 'Your Name' > public_key.txt
您的公開金鑰會寫入 public_key.txt 檔案。
此公用金鑰非常重要。它必須建置至所有透過 up2date 接收自訂軟體的用戶端系統上。在組織中建置此金鑰的技巧皆列在《Red Hat Network 用戶端配置指南》中。