Linux Tips

ファイルに電子署名を行うには

北浦訓行
2005/10/6

 GnuPGでは、ファイルに対して電子署名を付加することができる。電子署名されたファイルは、署名した本人の公開鍵を使って本物かどうか、改変されていないかどうかを確認することができる。また、暗号化と組み合わせることによって、より安全にファイルのやりとりが可能になる。ここでは、sample.txtというテキストファイルに対して電子署名を行ったり、送られてきたファイルの電子署名を確認する方法を説明する。

 sample.txtに電子署名を行うには、以下のように-sオプションを付けてgpgコマンドを実行する。

$ gpg -s sample.txt

次のユーザーの秘密鍵のロックを解除するには
パスフレーズがいります:“Noriyuki Kitaura (foobar) <nori@example.jp>”
1024ビットDSA鍵, ID 71CF37EF作成日付は2005-09-05

パスフレーズを入力: ←パスフレーズを入力して[Enter]キー

 これによって、sample.txt.gpgというバイナリファイルが作成される。また、ASCII形式で署名することも可能だ。その場合は、次のオプションを指定する。

$ gpg --clearsign sample.txt

次のユーザーの秘密鍵のロックを解除するには
パスフレーズがいります:“Noriyuki Kitaura (foobar) <nori@example.jp>”
1024ビットDSA鍵, ID 71CF37EF作成日付は2005-09-05

パスフレーズを入力: ←パスフレーズを入力して[Enter]キー

 これによって、sample.txt.ascというASCII形式のファイルが作成される。ASCII形式なので、内容を表示することもできる。sample.txt.ascの内容は以下のように、オリジナルのテキストファイルをGnuPGの署名で挟み込む形になっている。

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

sample.txtの内容(省略)

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)

iD8DBQFDMO+NNMDDrHHPN+8RAhgEAJ4q8ydiqojZ7xOME5gzdQ5+Mg1fpgCfRTw4
ymTOUqV8xHPDcUl072kyc6E=
=zXPA
-----END PGP SIGNATURE------

 受け取ったファイルの電子署名を確認するには、以下のコマンドを実行する。

$ gpg --verify sample.txt.asc
gpg: 2005年09月21日 14時28分45秒 JSTにDSA鍵ID 71CF37EFで施された署名
gpg: “Noriyuki Kitaura (foobar) <nori@example.jp>”からの正しい署名

 もし、内容が改変されていると、以下のようなメッセージが表示される。

$ gpg --verify sample.txt.asc
gpg: 2005年09月21日 14時28分45秒 JSTにDSA鍵ID 71CF37EFで施された署名
gpg: “Noriyuki Kitaura (foobar) <nori@example.jp>”からの 不正な 署名

Linux Tips Index



 Linux Squareフォーラム Linux Tipsカテゴリ別インデックス
インストール/RPM ブート/ブートローダ
ファイル操作 環境設定
ユーザー管理 コンソール/ターミナル
X Window System セキュリティ
トラブルシューティング 他OS関係
ネットワーク ハードウェア
Webサーバ Samba
GNOME KDE
OpenOffice.org エミュレータ
ソフトウェア そのほか/FAQ
全Tips公開順インデックス Linux Tips月間ランキング
Linux Squareフォーラム全記事インデックス

MONOist組み込み開発フォーラムの中から、Linux関連記事を紹介します

@IT Special

- PR -

TechTargetジャパン

Linux & OSS フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)
- PR -

イベントカレンダー

PickUpイベント

- PR -

アクセスランキング

もっと見る

ホワイトペーパーTechTargetジャパン

注目のテーマ

Linux & OSS 記事ランキング

本日 月間
ソリューションFLASH