
對于 ubuntu 發行版的情況, canonical 提供了幾個供驗證使用的驗校檔案(如 md5sum, sha1sums 和 sha256sums)。在這個例子中我們使用 sha256sums。
首先,下載下傳下面兩個檔案。
$ wget http://releases.ubuntu.com/14.10/sha256sums
$ wget http://releases.ubuntu.com/14.10/sha256sums.gpg
第一個檔案是 iso 鏡像的 sha256 驗校檔案,而第二個檔案(*.gpg)是驗校檔案的簽名。第二個檔案的目的是驗證驗校檔案本身的有效性。
我們通過運作下面的指令來驗證 sha256sums 檔案的有效性。
$ gpg --verify sha256sums.gpg sha256sums
gpg: signature made thu 23 oct 2014 09:36:00 am edt using dsa key id fbb75451
gpg: can't check signature: public key not found
如果你得到上面的錯誤資訊,是因為你還沒有導入生成這個簽名的公共密鑰。是以我們現在導入需要的公共密鑰。
這樣做之前,你需要知道公共密鑰的 “key id”,而這在上面的 gpg 指令的輸出中有顯示。在這個例子中,密鑰 id 時 “fbb75451”。運作下面的指令來從官方 ubuntu 密鑰伺服器導入公共密鑰。
$ gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys fbb75451
既然公共密鑰已經被導入,我們可以繼續并重新運作之前的指令來驗證簽名。
gpg --verify sha256sums.gpg sha256sums
在驗證了 sha256sums 檔案的完整性後,最後一個步驟是比較已下載下傳 iso 檔案的 sha256 驗校和和 sha256sums 檔案中對應的驗校值。你可以使用 sha256sum 指令行工具來完成這個步驟。
為友善起見,下面一行指令比較 sha256 驗校和并報告結果。
$ sha256sum -c <(grep ubuntu-14.10-desktop-amd64.iso sha256sums)
ubuntu-14.10-desktop-amd64.iso: ok
如果你看到了上面的輸出資訊,這表明兩個驗校值相比對。這樣已下載下傳 iso 鏡像的完整性就被成功的驗證了。
原文釋出時間:2014-11-20
本文來自雲栖合作夥伴“linux中國”