前言

下載 Linux 安裝映像檔時,發行方通常都會提供核對檔案完整性的 Checksum 文件。而爲了驗證 Checksum 文件本身的正確性,一般都還會附帶 Checksum 文件的 Signature (數位簽章)。本文將以 Debian 爲例,記錄驗證 Linux 安裝映像檔的主要流程。

取得必要檔案

Debian website screenshot

下載 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 的完整性。