前言
下載 Linux 安裝映像檔時,發行方通常都會提供核對檔案完整性的 Checksum 文件。而爲了驗證 Checksum 文件本身的正確性,一般都還會附帶 Checksum 文件的 Signature (數位簽章)。本文將以 Debian 爲例,記錄驗證 Linux 安裝映像檔的主要流程。
取得必要檔案
下載 Debian 提供的 Checksum、Signature 與 ISO 至同一目錄,如上圖。Checksum 這裡以 SHA512 的爲例。
驗證 Checksum 正確性
$ gpg --verify SHA512SUMS.sign
若印出 “Good signature” 的字樣,代表 Checksum 確實爲此簽名檔的密鑰所有人簽發。當然前提是必須相信驗證的公鑰是正確的。
若印出 “Can’t check signature: public key not found” 的字樣,代表系統中找不到對應的公鑰,可以用如下指令匯入:
$ gpg --keyserver keyring.debian.org --recv <RSA-key-ID>
keyring.debian.org
是 Debian 公佈公鑰的伺服器,預設他是可信的。<RSA-key-ID>
在上一指令會列出,爲簽章對應的公鑰 ID。匯入後,再重新執行第一個指令。
驗證 ISO 完整性
$ sha512sum -c SHA512SUMS 2>/dev/null | grep <ISO-filename>
若印出 “OK” 的字樣,即代表 ISO 的完整性。