恥は/dev/nullへ by 初心者

プログラミング素人がのろのろと学んだことをつづっています♪

KleopatraでSHA512SUMSを検証する on Windows

Debian上でGnuPGを使ってSHA512SUMSを検証した時の作業メモを下記リンクの記事に書きました。

GnuPGでSHA512SUMSを検証する - 恥は/dev/nullへ by 初心者

一方、本記事はWindows上で同じことをやった時の作業メモです。本記事は上記リンクに書いたことをベースとしているので、上記リンクを先に読むと本記事の内容が分かりやすいかもしれません(?)。


目次


GnuPGのダウンロードとインストール

<ダウンロード>

https://gnupg.org/download/

の中段にある「GnuPG binary releases」からGpg4winをダウンロードします。寄付をしてくださいという画面が現れますが「$0」を選べば無料でダウンロードできます。

ファイルをダウンロードすると、以下の画面が現れます。

Get started – your next steps:

1. Check integrity of the downloaded Gpg4win installer!
2. Install Gpg4win.
3. Create an OpenPGP key pair (or import an existing one) with Kleopatra which is installed together with Gpg4win by default.
4. Sign/encrypt a file or an email to yourself for testing.
5. Read more about the public key method (see chapter 1-5 in Gpg4win Compendium).
6. Ask your questions and report your problems to the Gpg4win Community.

(備考)
1のリンク先 https://gpg4win.org/package-integrity.html
5のリンク先 https://gpg4win.org/documentation.html


(A) 1の「Check integrity」という部分(リンク)をクリックすると、ファイルのS/N等が記述されたページに遷移します。
(B) ダウンロードしたファイルを右クリックしてプロパティを開くと、S/N等を見ることができます。

遷移したページ(A)に書かれているS/N等と(B)のS/N等が一致しているか確認します。

ダウンロードしたファイルのプロパティに関しては、以下のページに画像付きで載っています。
https://science-as-a-candle-in-the-dark.hatenablog.com/entry/2018/11/11/203913


<インストール>
テキトーにクリックしていくだけでインストールできますが、次のページは参考になりました(一連の流れが画像付きで載っています)。

https://www.ochappa.net/posts/gpg-win-setup

GnuPGをインストールするとデスクトップに「Kleopatra」というショートカットが作成されます。KleopatraはGnuPGGUIで使うためのものです。


gpgの出力が文字化けする

DebianのISOイメージが壊れていないか確認するには「SHA512SUMS」ファイルに記述されているハッシュ値を使います。一方、「SHA512SUMS」ファイルが改ざんされていないかを検証するには「SHA512SUMS.sign」ファイルを使います。

コマンドで検証を行う場合は

gpg --verify SHA512SUMS.sign SHA512SUMS

としますが、コマンドプロンプトpowershellでgpgコマンドを使ったらgpgが出力するメッセージの一部が文字化けしていました。

ネット検索してみたところ、どうやら勝手にコードページ(chcp)が変わってしまうそうです。現時点では良い解決策が無いらしいと分かったので、GnuPGと一緒にインストールされたKleopatraを使うことにしました。


Kleopatraのマニュアル

https://docs.kde.org/stable5/en/kleopatra/kleopatra/index.html


Kleopatraに公開鍵をインポートする

KleopatraにDebianの公開鍵をインポートする必要があります。公開鍵は以下のページにあります。

Verifying authenticity of Debian images
https://www.debian.org/CD/verify.en.html

このページの下部にある

pub   rsa4096/988021A964E6EA7D 2009-10-03
      Key fingerprint = 1046 0DAD 7616 5AD8 1FBC  0CE9 9880 21A9 64E6 EA7D
uid                  Debian CD signing key <debian-cd@lists.debian.org>

pub   rsa4096/DA87E80D6294BE9B 2011-01-05 [SC]
      Key fingerprint = DF9B 9C49 EAA9 2984 3258  9D76 DA87 E80D 6294 BE9B
uid                  Debian CD signing key <debian-cd@lists.debian.org>

pub   rsa4096/42468F4009EA8AC3 2014-04-15 [SC]
      Key fingerprint = F41D 3034 2F35 4669 5F65  C669 4246 8F40 09EA 8AC3
uid                  Debian Testing CDs Automatic Signing Key <debian-cd@lists.debian.org>

のうち、pub行の「rsa4096/」に続く部分がリンクとなっています。リンク部分を右クリックして「名前を付けてリンク先を保存」を選びます。こうしてPCに保存したファイルの中身が公開鍵です。

3つのpub行で同じことを行ってPCに保存した3つの公開鍵をKleopatraにインポートします。


「インポート」ボタンを押すと、ファイルを選択する画面が現れるので、ここで先ほどPCに保存した3つのファイルを指定します。これで、3つの公開鍵がKleopatraにインポートされます。

インポートが終わるとKleopatraに次のように表示されます。


KleopatraでSHA512SUMSを検証する

同じフォルダの中に「SHA512SUMS.sign」と「SHA512SUMS」を置いておきます。 Kleopatraの「復号/検証」ボタンをクリックするとファイルを選択する画面が現れるので、SHA512SUMS.signを選びます。すると、SHA512SUMSの検証が行われます。

画面には次のように表示されました。

ここで、「監査ログを表示」という部分をクリックすると、次の画面が現れました。

やや不安な文言が並んでいますが、3行目の

gpg: "Debian CD signing key <debian-cd@lists.debian.org>"からの正しい署名 [不明の]

のように「からの正しい署名」という文言があればOKです。

画面に表示された文言に関しては以下の記事に書いたので省略します。
GnuPGでSHA512SUMSを検証する - 恥は/dev/nullへ by 初心者


<補足>
WindowsでSHA512SUMSファイルをダウンロードすると拡張子が付いて「SHA512SUMS.txt」となっているかもしれません。この場合、「復号/検証」ボタンをクリックして現れるファイル選択画面でSHA512SUMS.signを選ぶだけでは足りません。SHA512SUMS.signを選んだ後、引き続きファイル選択画面が表示されるので、ここでSHA512SUMS.txtを選択します。


公開鍵が無い状態で検証した場合

公開鍵をKleopatraにインポートせずに検証を実行すると次のように表示されます。


ここで「監査ログを表示」をクリックすると、次の画面が現れました。

3行目にあるとおり、「署名を検査できません: 公開鍵がありません」と表示されます。