OpenPGPを使用した署名検証方法の解説
１ 署名検証方法の概要
デジタル署名の検証は、署名検証用ソフトをインストールし、インボイス制度適格請求書発行事業者公表サイトで公開する公開鍵を取得したうえで（①～③）、 ダウンロードしたデータ（全件・差分）を署名検証用ソフトで確認する（④～⑥）、という手順で行います。

≪署名検証用ソフトのインストールと公開鍵の取得≫【インボイス制度適格請求書発行事業者公表サイト】②公開鍵ページの表示①署名検証用ソフトのインストール（無償で利用可能）

公開鍵
mQENBF/9WuMDCAC
sAQlU+btPXDRQaz
7vnJ70qkCZkqoLi
2Ih9nNmQwjE4NQY
dD9u/4UU195XVqM【利用者】

インターネット③公開鍵の取得≪署名検証用ソフトによる検証≫【インボイス制度適格請求書発行事業者公表サイト】
ダウンロード画面
002.zip【利用者】④ダウンロード

002.zip

002.asc⑤圧縮ファイル解凍

002.csv⑥署名検証コマンド実行>gpg --verify 002.asc 002.csv

1

２ Windows 版パソコンでの操作方法
イ 署名検証用ソフト（Gpg4win）のインストール① 「https://gpg4win.org/」にアクセスし、「DownloadGpg4win 3.1.15」をクリックします。

② 「$0」をクリックし、「Download」をクリックします。

2

③ ダウンロードされます。

④ 「gpg4win-3.1.15.exe」を右クリックし、「管理者として実行（Ａ）」を選択します。
※ここでは、ダウンロードファイルをC:\PGPに移動して実行しています。

3

⑤ インストーラが起動しますので、「Next>」をクリックします。

⑥ インストール対象を選択する画面が表示されますので、「GpgOL」「GpgEX」「Kleopatra」のチェックを外し、「Next>」をクリックします。
※「GpgOL」「GpgEX」のチェックを先に外さないと、「Kleopatra」のチェックは外せません。
（GnuPG以外のチェックを入れた場合、不要なソフトがインストールされますが署名検証は可能です。）⑦ インストール先を選択する画面が表示されますので、インストール先を選択後、「Install」をクリックします。

4

⑧ インストールが完了したら、「Next>」をクリックします。

⑨ 「Finish」をクリックすると、完了となります。

5

ロ インボイス制度適格請求書発行事業者公表サイトの公開鍵取り込み① 「インボイス制度適格請求書発行事業者公表サイト」にアクセスし、公開されている公開鍵のデータをコピーして、テキストファイルとして保存します。このファイルが公開鍵ファイルとなります。
なお、保存場所、ファイル名は共に任意です。ここでは、それぞれ以下のように設定をしたとして、説明します。
≪保存場所≫
C:\GPG≪ファイル名≫invoice-public.key
また、画面上に表示されている「フィンガープリント」の値は、この後の手順で必要になるため手元に控えておいてください。
インボイス制度適格請求書発行事業者公表サイト-----------------------------------------------------------------------鍵ID
2A8AE3340980AA0C

鍵タイプ

RSA 2048bit

フィンガープリント

9736 ADBF DAC1 6800 B22A

公開鍵

有効期限

773C 2A8A E334 0980 AA0C-----BEGIN PGP PUBLIC KEY BLOCK----mQENBF/9WuMDCACXM0CuU2X/JguCh3C37R9yp88Q5SZAyTRwu8RPWNm3PtX4KYJasAQlU+btPXDRQaz/HSI/qCScn6XLZnq910RpPP8scDwcaqeHr8uP1CVbjapzR2Zy
7vnJ70qkCZkqoLihgGAQZXwOySAQ8T9QZDdjimJUITufEUpoXLQ3BuQdoRSI2432
2Ih9nNmQwjE4NQYhWjTWVPyjf04zq1U9w4oZ4tkuEl96mI6FKlIhauIsa3o73su3
dD9u/4UU195XVqMvDii11yaW7UVoY2FV70R4bGrFisE7c0HQJPAEttBzooVDYliE
yAsmiVCHfKuQFgs9VzSuZM7MjgE18kmG2WFXABEBAAG0G05hdGlvbmFsIFRheCBB
Z2VuY3kgSW52b2ljZYkBGwQQAwgABgUCX/1a4wAKCRAqiuM0CYCqDAqwB/ivHCVR
Ic1VxE3A8ViG0Tw9OtO6MVdeaxCM354lmVTPNdJBoh+r2qmR2iiN+QmARFcCq/aw
p74EAvwCSZlx+TrFhDYdYiPfOhBabZnEQ9okQKsHR1WU/NwHfLO4ZCtQJmbUhxETCYH33sxK58TPT+P4yEbQklaFH2LQsn6l+ZZbCpuP27SDe18XmQKq9RYrfI80Tbug
lvAy6DKPaPhrAIvmzU1xnY8oVoaDRixmFn6HnaNtw8Y54j/3lqegL30y87ZT9AI7
ll5bK/qYVbJ4+W74vCpn2jUXICElR3n0v9GUB60U88nAzd0Cz5iMHj3Q3aO9eZVM
3edCqilcHBlvEUw==0Wtx-----END PGP PUBLIC KEY BLOCK----無期限

6

手元に控えておいてください。

コピーしてテキストファイルに貼りつけたうえで、保存してください。

② パソコンの左下にあるスタートメニューから、「Windows システムツール」－「コマンドプロンプト」を起動してください。
（操作が不明な場合は、「ここに入力して検索」欄（虫メガネアイコン）に「cmd」と入力して、Enter キーを押しても起動できます。）③ 以下のコマンドを実行し、コマンドプロンプト上で、公開鍵ファイルを保存したフォルダ（①の操作で保存したフォルダ）に移動します。
≪実行コマンド≫
cd C:\GPG④ 以下のコマンドを実行し、公開鍵ファイル（invoice-public.key）があることを確認します。
≪実行コマンド≫dir7

⑤ 以下のコマンドを実行し、公開鍵ファイルをGPGに取り込みます。
≪実行コマンド≫
gpg --import invoice-public.key
この操作で、画面上に表示される鍵IDを控えてください。鍵IDは、「鍵」で始まる文字列の「鍵」を除いた部分です。ここでは、「2A8AE3340980AA0C」が鍵IDです。

⑥ 以下のコマンドを実行し、⑤で取り込んだ公開鍵のフィンガープリントを出力します。
このとき、⑤の操作で手元に控えた鍵IDをコマンドの一部に使用します。
≪実行コマンド≫
gpg --fingerprint 2A8AE3340980AA0C

画面上に表示されたフィンガープリントが、①で手元に控えたインボイス制度適格請求書発行事業者公表サイト上のフィンガープリントと一致することを確認してください。

⑦ 最後に⑤で取り込んだ公開鍵の信頼性を設定します。
以降の処理は対話型（プログラムがユーザに入力を求める）で進められます。
a) はじめに以下のコマンドを実行し、対話型処理を開始します。
≪実行コマンド≫
gpg --edit-key 2A8AE3340980AA0C

処理開始時点では、「信用」項目が「不明の」という状態であることを確認します。

b) 画面上に「gpg>」と表示されたら、以下のコマンドを実行します。
≪実行コマンド≫
trust8c) 「他のユーザの鍵を正しく・・・」という文書が表示され、「あなたの決定は？」という形で、「１」～「m」の何れかを入力するように求められますので、以下の値を入力します。
≪入力値≫5d) 続けて、「本当にこの鍵を究極的に信用しますか? （y/N）」と問われるので、以下の値を入力します。
≪入力値≫ye) 「信用」項目が「究極」となったことを確認し、以下のコマンドを実行し、対話型処理を終了します。
≪実行コマンド≫quit⑧ 最後に以下のコマンドを実行し、コマンドプロンプトを終了します。
≪実行コマンド≫
exit

以上でインボイス制度適格請求書発行事業者公表サイトの公開鍵取込作業は完了です。

9

ハ ダウンロードしたファイルの署名検証① データのダウンロード
インボイス制度適格請求書発行事業者公表サイトに公表されている、データファイル（zip 形式で圧縮済）をダウンロードし、解凍すると、２つのファイル（拡張子が「.csv」または「.xml」または「.json」と、「.asc」）が表示されます。
※ダウンロードは任意の場所で構いません。
※ここでは、ダウンロードした公表情報ファイルの名称が「diff_20211101_csv.zip」で、C:\GPGフォルダに解凍したものとします。
≪解凍後の状態≫
C:\GPG\diff_20211101_csv├ diff_20211101.csv.asc└ diff_20211101.csv② スタートメニューから「コマンドプロンプト」を起動し、コマンドプロンプト上で、ダウンロードしたデータを保存したフォルダ（①の操作で保存したフォルダ）に移動します。
≪実行コマンド≫
cd C:\GPG\diff_20211101_csv③ 以下のコマンドを実行し、ダウンロードファイルを検証します。
≪実行コマンド≫
gpg --verify diff_20211101.csv.asc diff_20211101.csv（下線部は検証するファイルにあわせて変更してください。また、「.asc」ファイルを先に記述してください。）

このとき、実行結果として「正しい署名」という文言が表示されることを確認します。
万一、何らかの形で改ざんされていた場合は、以下のように「*不正な*署名」という文言が表示されます。

④ 最後に以下のコマンドを実行し、コマンドプロンプトを終了します。
≪実行コマンド≫
exit10３ Macintosh 版パソコンでの操作方法
イ 署名検証用ソフト（GPG Suite）のインストール① 「https://gpgtools.org/」にアクセスし、「Download for macOS 10.14 - 11.x」をクリックするとダウンロードが開始されます。

② GPG Suiteのダウンロードファイルをクリックし、インストール画面を表示し、「Install」をクリックします。

③ 「“インストーラ”から・・・」というメッセージが表示された場合、「OK」をクリックします。

11

④ 初期画面表示後、「続ける」をクリックします。

⑤ 使用許諾契約を確認し、「Continue」をクリックします。

12

⑥ 画面の内容を確認し、「Agree」をクリックします。

⑦ 画面の内容を確認し、「カスタマイズ」をクリックします。
(インストール先を変更する場合は、「インストール先を変更」をクリックしてください。)

13

⑧ インストール対象を選択する画面が表示されますので、「GPG Mail 5」のチェックを外し、「インストール」をクリックします。
※これは、GPG Mailが有料機能で１ヶ月トライアルとなっているためです。

⑨ インストールが完了したことを確認し、「閉じる」をクリックします。

14

ロ インボイス制度適格請求書発行事業者公表サイトの公開鍵取り込み① 「インボイス制度適格請求書発行事業者公表サイト」にアクセスし、公開されている公開鍵のデータをコピーして、テキストファイルとして保存します。このファイルが公開鍵ファイルとなります。
なお、保存場所、ファイル名は共に任意です。ここでは、それぞれ以下のように設定をしたとして、説明します。
≪保存場所≫/Users/testuser/Documents/gpg≪ファイル名≫invoice-public.key※ファイルを保存する際は、メニューバーの「フォーマット」メニューを選択し、標準テキストで保存してください。
また、画面上に表示されている「フィンガープリント」の値は、この後の手順で必要になるため手元に控えておいてください。
インボイス制度適格請求書発行事業者公表サイト-----------------------------------------------------------------------鍵ID
2A8AE3340980AA0C
鍵タイプ

RSA 2048bit

フィンガープリント

9736 ADBF DAC1 6800 B22A

公開鍵

有効期限

773C 2A8A E334 0980 AA0C-----BEGIN PGP PUBLIC KEY BLOCK----mQENBF/9WuMDCACXM0CuU2X/JguCh3C37R9yp88Q5SZAyTRwu8RPWNm3PtX4KYJasAQlU+btPXDRQaz/HSI/qCScn6XLZnq910RpPP8scDwcaqeHr8uP1CVbjapzR2Zy
7vnJ70qkCZkqoLihgGAQZXwOySAQ8T9QZDdjimJUITufEUpoXLQ3BuQdoRSI2432
2Ih9nNmQwjE4NQYhWjTWVPyjf04zq1U9w4oZ4tkuEl96mI6FKlIhauIsa3o73su3
dD9u/4UU195XVqMvDii11yaW7UVoY2FV70R4bGrFisE7c0HQJPAEttBzooVDYliEyAsmiVCHfKuQFgs9VzSuZM7MjgE18kmG2WFXABEBAAG0G05hdGlvbmFsIFRheCBB
Z2VuY3kgSW52b2ljZYkBGwQQAwgABgUCX/1a4wAKCRAqiuM0CYCqDAqwB/ivHCVR
Ic1VxE3A8ViG0Tw9OtO6MVdeaxCM354lmVTPNdJBoh+r2qmR2iiN+QmARFcCq/aw
p74EAvwCSZlx+TrFhDYdYiPfOhBabZnEQ9okQKsHR1WU/NwHfLO4ZCtQJmbUhxETCYH33sxK58TPT+P4yEbQklaFH2LQsn6l+ZZbCpuP27SDe18XmQKq9RYrfI80Tbug
lvAy6DKPaPhrAIvmzU1xnY8oVoaDRixmFn6HnaNtw8Y54j/3lqegL30y87ZT9AI7
ll5bK/qYVbJ4+W74vCpn2jUXICElR3n0v9GUB60U88nAzd0Cz5iMHj3Q3aO9eZVM
3edCqilcHBlvEUw==0Wtx-----END PGP PUBLIC KEY BLOCK----無期限

15

手元に控えておいてください。

コピーしてテキストファイルに貼りつけたうえで、保存してください。

② パソコンの左下にある「Launchpad」から、「その他」-「ターミナル」を起動してください。

③ 以下のコマンドを実行し、ターミナル上で、公開鍵ファイルを保存したフォルダ（①の操作で保存したフォルダ）に移動します。
≪実行コマンド≫
cd /Users/testuser/Documents/gpg④ 以下のコマンドを実行し、公開鍵ファイル（invoice-public.key）があることを確認します。
≪実行コマンド≫ls16

⑤ 以下のコマンドを実行し、公開鍵ファイルをGPGに取り込みます。
≪実行コマンド≫
gpg --import invoice-public.key
この操作で、画面上に表示される鍵IDを控えてください。鍵IDは、「鍵」で始まる文字列の「鍵」を除いた部分です。ここでは、「2A8AE3340980AA0C」が鍵IDです。

⑥ 以下のコマンドを実行し、⑤で取り込んだ公開鍵のフィンガープリントを出力します。
このとき、⑤の操作で手元に控えた鍵IDをコマンドの一部に使用します。
≪実行コマンド≫
gpg --fingerprint 2A8AE3340980AA0C

画面上に表示されたフィンガープリントが、①で手元に控えたインボイス制度適格請求書発行事業者公表サイト上のフィンガープリントと一致することを確認してください。

⑦ 最後に⑤で取り込んだ公開鍵の信頼性を設定します。
以降の処理は対話型（プログラムがユーザに入力を求める）で進められます。
a) はじめに以下のコマンドを実行し、対話型処理を開始します。
≪実行コマンド≫
gpg --edit-key 2A8AE3340980AA0C

処理開始時点では、「信用」項目が「不明の」という状態であることを確認します。

b) 画面上に「gpg>」と表示されたら、以下のコマンドを実行します。
≪実行コマンド≫
trust

17c) 「他のユーザの鍵を正しく・・・」という文書が表示され、「あなたの決定は？」という形で、「１」～「m」の何れかを入力するように求められますので、以下の値を入力します。
≪入力値≫5d) 続けて、「本当にこの鍵を究極的に信用しますか? （y/N）」と問われるので、以下の値を入力します。
≪入力値≫ye) 「信用」項目が「究極」となったことを確認し、以下のコマンドを実行し、対話型処理を終了します。
≪実行コマンド≫quit⑧ 最後に以下のコマンドを実行し、ターミナルを終了します。
≪実行コマンド≫
exit

以上でインボイス制度適格請求書発行事業者公表サイトの公開鍵取込作業は完了です。

18

ハ ダウンロードしたファイルの署名検証① データのダウンロードインボイス制度適格請求書発行事業者公表サイトに公表されている、データファイル（zip 形式で圧縮済）をダウンロードし、解凍すると、２つのファイル（拡張子が「.csv」または「.xml」または「.json」と、「.asc」）が表示されます。
※ダウンロードは任意の場所で構いません。
※ここでは、ダウンロードした公表情報ファイルの名称が「diff_20211101_csv.zip」で、/Users/testuser/Documents/gpgフォルダに解凍したものとします。
≪解凍後の状態≫/Users/testuser/Documents/gpg/diff_20211101_csv├ diff_20211101.csv.asc└ diff_20211101.csv② 「Launchpad」から「ターミナル」を起動し、ターミナル上で、ダウンロードしたデータを保存したフォルダ（①の操作で保存したフォルダ）に移動します。
≪実行コマンド≫
cd /Users/testuser/Documents/gpg/diff_20211101_csv③ 以下のコマンドを実行し、ダウンロードファイルを検証します。
≪実行コマンド≫
gpg --verify diff_20211101.csv.asc diff_20211101.csv（下線部は検証するファイルにあわせて変更してください。また、「.asc」ファイルを先に記述してください。）

このとき、実行結果として「正しい署名」という文言が表示されることを確認します。
万一、何らかの形で改ざんされていた場合は、以下のように「*不正な*署名」という文言が表示されます。

④ 最後に以下のコマンドを実行し、ターミナルを終了します。
≪実行コマンド≫ exit19